【问题标题】:How to pass multiple parameters in sql query using Java?如何使用Java在sql查询中传递多个参数?
【发布时间】:2021-06-23 00:08:33
【问题描述】:

我有 sql 查询,它显示在它的 select 语句下面我想动态传递值但我不知道我们该怎么做。这里我想动态传递产品和位置 任何人都可以在这方面提供帮助..

public static ResultSet RetrieveData() throws Exception {
    
        PreparedStatement statement;
    
         String sql = "select * FROM Courses WHERE "
                    + "product = product? "
                    + "and location = location? ";
         System.out.println(sql);
         DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
    
         String mysqlUrl = "jdbc:mysql://localhost:3306/wave1_build";
         Connection con = DriverManager.getConnection(mysqlUrl, "root", "root");
        statement = con.prepareStatement(sql);
    
        ResultSet rs = statement.executeQuery(sql);
        return rs;

【问题讨论】:

  • 问题太多。首先,修复查询并在其中找到有效的内容,然后再返回其他问题。
  • 好的,现在我已经编辑了它,我认为很好,请现在检查

标签: java mysql sql jdbc prepared-statement


【解决方案1】:

一种方法是使用普通的? 占位符以及适当的设置器来绑定值:

String sql = "SELECT * FROM Courses WHERE product = ? AND location = ?";
statement = con.prepareStatement(sql);
statement.setString(1, "some product");
statement.setString(2, "some location");

// NOTE: executeQuery() when used with prepared statements does NOT take any parameters
ResultSet rs = statement.executeQuery();

【讨论】:

    猜你喜欢
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多