Java 在SQL查询中使用组合框的值
如何使用Java在SQL查询中使用组合框的值? 我尝试了这个代码,但它不起作用Java 在SQL查询中使用组合框的值,java,mysql,Java,Mysql,如何使用Java在SQL查询中使用组合框的值? 我尝试了这个代码,但它不起作用 String sql = " select * from table1 where ? like ?"; try{ pst = conn.prepareStatement(sql); pst.setString(1, (String) jComboBox2.getSelectedItem()); pst.setString(2, txtsearch.getTex
String sql = " select * from table1 where ? like ?";
try{
pst = conn.prepareStatement(sql);
pst.setString(1, (String) jComboBox2.getSelectedItem());
pst.setString(2, txtsearch.getText() + "%");
rs = pst.executeQuery();}
如果我使用这个代码,它会工作
String sql = " select * from table1 where Name like ?";
try{
pst = conn.prepareStatement(sql);
pst.setString(1, txtsearch.getText() + "%");
rs = pst.executeQuery();}
你可以这样做:
try {
String sql = "select * from table1 where ";
sql += (String) jComboBox2.getSelectedItem();
sql += " like ";
sql += txtsearch.getText() + "%";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
}
占位符(?)实际上是为列值设计的,而不是为列/表名设计的。使用字符串连接:
String sql = "select * from table1 where "
+ jComboBox2.getSelectedItem()
+" like ?";
是的,这是连接到字符串的好方法。。我喜欢这种方法