我有这段代码:
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String db = "jdbc:odbc:Driver=Microsoft Access Driver (*.mdb);DBQ=Productosh.mdb";
Connection con = DriverManager.getConnection(db, "", "");
Statement s = con.createStatement();
ResultSet hola = s.executeQuery("select Precioventau from Productos where Nombreproductos == '"+jComboBox1.getSelectedItem()+"'");
while (hola.next()){
double preciou = hola.getDouble("Precioventau");
System.out.println(preciou);
jTextField5.setText(String.valueOf(preciou));
}
} catch(ClassNotFoundException | SQLException e){
JOptionPane.showMessageDialog(null, e);
e.printStackTrace();
}
在文本字段中设置查询结果。 它确实引发了异常,但我无法弄清楚如何解决它。
java.sql.SQLException:[Microsoft] [ODBC Microsoft Access驱动程序] 查询表达式'Nombreproductos中的语法错误(缺少运算符) =='某种产品'
但Nombreproductos
是表Productos
中的字段。
答案 0 :(得分:1)
在比较SQL中的字符串时,您可以使用“=”或关键字LIKE
ResultSet hola = s.executeQuery("select Precioventau from Productos where Nombreproductos = '"+jComboBox1.getSelectedItem()+"'");
while (hola.next()){
ResultSet hola = s.executeQuery("select Precioventau from Productos where Nombreproductos like '"+jComboBox1.getSelectedItem()+"'");
while (hola.next()){
'='和LIKE
之间的差异是'='必须是相同的匹配。 'LIKE'能够使用通配符。
答案 1 :(得分:0)
SQL中没有==
运算符;你可以用=
比较相等。尝试
"select Precioventau from Productos where Nombreproductos = '"+
jComboBox1.getSelectedItem()+"'"