java 让用户通过控制台输入查询
java get user to input query via console
我正在使用 jdbc.
为 h2 table 开发一个简单的查询数据库
我的代码如下:
import java.sql.*;
public class program {
public static void main(String a)
throws Exception {
Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2://C:/Users/Office/Desktop/DED/files/db/dedserver", "sa", "");
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(a);
ResultSetMetaData rsmd = rs.getMetaData();
int columnsNumber = rsmd.getColumnCount();
for (int a1 = 1; a1 <= columnsNumber; a1++) {
String columnName = rsmd.getColumnName(a1);
System.out.printf(columnName);
int strLength1 = columnName.length();
for(int c = 0; c+strLength1 <= 15; c++){
System.out.printf(" ");
}
}
System.out.println("\n");
while (rs.next()) {
for (int i = 1; i <= columnsNumber; i++) {
String columnValue = rs.getString(i);
System.out.printf(columnValue);
int strLength = columnValue.length();
for(int b = 0; b+strLength <= 15; b++){
System.out.printf(" ");
}
}
System.out.println("");
}
conn.close();
}
}
我有两个问题,但有一个主要问题。
最主要的是,当程序是 运行 时,用户必须输入一串将被定义为 "a" 的文本,然后用作查询.如果查询失败,它应该打印回一条用户友好的消息,并且它还需要检测诸如用户输入 "help" 之类的内容,然后会显示其他内容。为此需要做什么?
另一个问题是如何对齐数据结果,以便在 table 中很好地格式化并全部对齐。
谢谢!
回答您的主要问题:
您可以执行此代码以从控制台输入获取查询:
import java.util.Scanner;
...
Scanner scanner = new Scanner(System.in);
String a = scanner.nextLine(); // Stores the input from the console to this variable
并查看您的用户是否键入 "help",输入此代码:
if (a.equalsIgnoreCase("help")) {
// What ever you want here
}
我正在使用 jdbc.
为 h2 table 开发一个简单的查询数据库我的代码如下:
import java.sql.*;
public class program {
public static void main(String a)
throws Exception {
Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2://C:/Users/Office/Desktop/DED/files/db/dedserver", "sa", "");
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(a);
ResultSetMetaData rsmd = rs.getMetaData();
int columnsNumber = rsmd.getColumnCount();
for (int a1 = 1; a1 <= columnsNumber; a1++) {
String columnName = rsmd.getColumnName(a1);
System.out.printf(columnName);
int strLength1 = columnName.length();
for(int c = 0; c+strLength1 <= 15; c++){
System.out.printf(" ");
}
}
System.out.println("\n");
while (rs.next()) {
for (int i = 1; i <= columnsNumber; i++) {
String columnValue = rs.getString(i);
System.out.printf(columnValue);
int strLength = columnValue.length();
for(int b = 0; b+strLength <= 15; b++){
System.out.printf(" ");
}
}
System.out.println("");
}
conn.close();
}
}
我有两个问题,但有一个主要问题。
最主要的是,当程序是 运行 时,用户必须输入一串将被定义为 "a" 的文本,然后用作查询.如果查询失败,它应该打印回一条用户友好的消息,并且它还需要检测诸如用户输入 "help" 之类的内容,然后会显示其他内容。为此需要做什么?
另一个问题是如何对齐数据结果,以便在 table 中很好地格式化并全部对齐。
谢谢!
回答您的主要问题:
您可以执行此代码以从控制台输入获取查询:
import java.util.Scanner;
...
Scanner scanner = new Scanner(System.in);
String a = scanner.nextLine(); // Stores the input from the console to this variable
并查看您的用户是否键入 "help",输入此代码:
if (a.equalsIgnoreCase("help")) {
// What ever you want here
}