gpt4 book ai didi

java - sqlite - 如何在Where子句中使用变量?

转载 作者:行者123 更新时间:2023-12-01 07:31:27 25 4
gpt4 key购买 nike

已编辑 - 在回复后添加了更多代码(仍然不起作用)

我想通过使用变量的Where子句来查询sqlite,但是我无法让它工作。

我设置了一个变量并传递它,但是,只有硬编码才有效......

这有效:

Penut 是 docName 列中的记录之一。

rs = stat.executeQuery("SELECT * FROM " + TABLE_NAME + " WHERE docName = 'Penut'");

但是,这不起作用:

Connection conn = DriverManager.getConnection("jdbc:sqlite:dufuss.db");
Statement stat = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
myInput ="Penut";
String sql = "SELECT * FROM " + TABLE_NAME + " WHERE docName = ?";
conn.prepareStatement(sql).setString(1, myInput);
rs = stat.executeQuery(sql);

那么,如何让变量 myInput 发挥作用?

最佳答案

试试这个

String sql = "SELECT * FROM " + TABLE_NAME + " WHERE docName = ?";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
preparedStatement.setString(1, myInput);
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
// iterate through results
}

关于java - sqlite - 如何在Where子句中使用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17138178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com