我想从下拉选择设备id后,其他字段值自动取入文本字段。但得到以下错误:
java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax;
check the manual that corresponds to your MariaDB server version
for the right syntax to use near '?' at line 1
在此输入图像说明
textField.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String DeviceID=textField.getSelectedItem().toString();
String DeviceName=textField_1.getText();
String SerialNumber=textField_2.getText();
String ModelNumber=textField_3.getText();
String Make=textField_4.getText();
try
{
Connection con=DB.getConnection();
Statement ps=con.createStatement();
ResultSet rs=ps.executeQuery("Select DeviceID,DeviceName,SerialNumber,ModelNumber,Make FROM deviceadd WHERE DeviceID =?");
if(rs.next())
{
String ID = rs.getString("DeviceName");
textField_1.setText(ID);
String FN = rs.getString("SerialNumber");
textField_2.setText(FN);
String LN = rs.getString("ModelNumber");
textField_3.setText(LN);
String Des = rs.getString("Make");
textField_4.setText(Des);
}
}
catch (SQLException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
您使用的SQL语句是一个准备好的语句,您可以在其中添加参数。
您正在使用一个正常的语句执行,其中?不会用导致sql server无法理解的查询的参数替换。
您应该查阅PreparedStatement以了解如何使用它(例如https://www.javatpoint.com/PreparedStatement-interface)
问题内容: 我正在使用和建立库存系统。查询表时出现此错误。 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以获取在’?’附近使用的正确语法。在第1行 下面是代码 问题答案: ResultSet rsOrders = stmt2.executeQuery(order
我试图将以下数据插入数据库。但它给了我上面这个错误。您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解第1行中“”附近使用的正确语法。 我试过几种方法,但都没有修好。
我有以下查询和错误: 错误消息:
查询失败您的SQL语法中有一个错误;在第1行“comment_status='approved'ORDER BY comment_id desc”附近,请查看与您的MariaDB服务器版本相对应的手册中使用的正确语法 谢谢。
我正在尝试在phpmyadmin上运行SQL,但出现错误,并且找不到其中的错误。 1064-您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以了解在“使用android_api/**选择数据库”附近使用的正确语法**/ 我的代码如下:
我试图创建一个基于用户角色的登录程序,但我的代码显示如下错误: 您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解使用near'的正确语法?密码是什么?”在1号线 这是我的连接课程 } 谢谢你的帮助。