gpt4 book ai didi

java - access数据库无法执行SQL LIKE

转载 作者:行者123 更新时间:2023-11-30 06:38:05 25 4
gpt4 key购买 nike

我无法从数据库中查询记录,并收到“UCAExc:::4.0.2 JDBC 调用中的无效参数:参数索引超出范围:1”错误消息

这是怎么造成的以及如何解决?

    public void  query(){
String name = name_tt.getText();
DefaultTableModel model= new DefaultTableModel();
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(0, 283, 555, 212);
contentPane.add(scrollPane);

table = new JTable(model);
scrollPane.setViewportView(table);
model.addColumn("ID");
model.addColumn("IDs");
model.addColumn("Name");
try
{
PreparedStatement pst = con.prepareStatement("SELECT * FROM TEST
WHERE IDs LIKE '?*' ");
pst.setString(1, name);
ResultSet rs = pst.executeQuery();
while(rs.next())
{
model.addRow(new Object[]{rs.getInt(1),rs.getString(2),rs.getInt(3)});
}

}
catch(Exception e){
System.out.println(e.getMessage());

};

}

最佳答案

你需要做

PreparedStatement pst = con.prepareStatement("SELECT * FROM TEST WHERE IDs LIKE ?");
pst.setString(1, name + "*");
ResultSet rs = pst.executeQuery();

这样,参数占位符 ? 就是基本 SQL 语句的一部分,而不是 SQL 语句中字符串文字的一部分。

关于java - access数据库无法执行SQL LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44866435/

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