【问题标题】:How to take take user input in JDBC for a Statement?如何在 JDBC 中为语句获取用户输入?
【发布时间】: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 当我想为存储过程获取用户输入参数时,情况如何?如果您需要,我可以显示代码。

标签: java mysql database jdbc


【解决方案1】:

答案很简单。谢谢,@Ali choopani:

Scanner s = new Scanner(System.in);
System.out.println("enter your character: ");
String searchTerm = s.nextLine();

【讨论】:

    猜你喜欢
    • 2021-12-08
    • 2021-07-03
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多