【发布时间】:2021-04-29 09:08:42
【问题描述】:
这是我的 JDBC 代码,我正在尝试通过控制台为 SQL 语句获取用户输入:
import java.sql.*;
public class Aufgabe_6_2 {
public static void main(String [] args) {
String searchTerm = "a";
try {
Connection conn = DriverManager.getConnection("jdbc:mariadb://slo.swe.th-luebeck.de:3306" +
"/Gruppe18?user=Gruppe18&password=xxxxxx");
PreparedStatement stmt = conn.prepareStatement("select kd_Nr, name From Kunde WHERE name LIKE ? group by kd_Nr");
stmt.setString(1,"%" + searchTerm + "%");
ResultSet res = stmt.executeQuery();
while (res.next()) {
System.out.println(res.getInt("kd_Nr") + ", " + res.getString("name"));
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
在这种情况下,我已经编写了自己的 SQL 语句,但现在我想删除自己的 SQL 语句并从用户输入中获取语句。
【问题讨论】:
-
您是否有任何理由不使用“扫描仪”来获取控制台用户的输入?
-
我尝试使用它,但我不知道在这种情况下如何使用它。我的意思是我没有如何将用户输入作为 sql 语句。
-
也许我没听懂你。但这很简单。您可以从用户那里获取输入并放入“searchTerm”变量并完成。
-
@AliChoopani 当我想为存储过程获取用户输入参数时,情况如何?如果您需要,我可以显示代码。