我想在jTable中使用jTextField和视图搜索数据我使用下面的代码,但我得到以下消息。使用jTextField在数据库中搜索
java.sql.SQLSyntaxErrorException:不支持'INTEGER'和'VARCHAR(UCS_BASIC)'之间的比较。类型必须具有可比性。字符串类型也必须具有匹配的排序规则。如果排序规则不匹配,则可能的解决方案是将操作数强制转换为默认排序规则,例如SELECT FROM表名WHERE sys.systables CAST(表名AS VARCHAR(128))= 'T1')
try{
String host = "jdbc:derby://localhost:1527/PROCAT";
String uName = "zain";
String uPass = "zain";
con = DriverManager.getConnection(host,uName,uPass);
sql = con.createStatement();
sql=con.createStatement();
rs=sql.executeQuery("select * from DATASAV where ID="+jTextField2.getText());
while (rs.next()) {
String Name = rs.getString("PROID");
String Protxt = rs.getString("PRODNAME");
String pro = rs.getString("PROPRICE");
String[] data = {Name, Protxt, pro};
tabMode.addRow(data);
jTextField1.setText(rs.getString(2));
jTextField3.setText(rs.getString(3));
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null,ex);
}
你在数据库的ID字段中使用了什么类型的数据类型? – maxx777
我正在使用整数,但我改为varchar,而且我仍然得到相同的消息 – mohza
尝试在jTextField2.getText()周围添加单引号。 另外,我会建议你使用'PreparedStatement's – maxx777