我想在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