这是我的密码。当我运行它时,我得到一个错误:
sqlsyntaxerrorexception:您的sql语法有错误;请查看与mysql服务器版本对应的手册,以获取在第1行的“”附近使用的正确语法
有人能帮我吗?
form_()
{
setSize(265,500);
setVisible(true);
setLayout(new FlowLayout());
add(l1);
add(t1);
add(l2);
add(t2);
add(l3);
add(t3);
add(l4);
add(t5);
add(l5);
add(t4);
add(b);
b.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b) {
int x = 0;
String s1 = t1.getText();
String s2 = t2.getText();
String s3 = t3.getText();
char[] c = t5.getPassword();
String s5 = new String(c);
String s4 = t4.getText();
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db?useSSL=false", "******", "********");
PreparedStatement ps = con.prepareStatement("INSERT INTO reg1 values(?,?,?,?,?");
ps.setString(1, s1);
ps.setString(2, s2);
ps.setString(3, s3);
ps.setString(4, s4);
ps.setString(5, s5);
int rs = ps.executeUpdate();
x++;
if(x>0)
{
JOptionPane.showMessageDialog(b,"Data saved Successfully");
}
} catch (Exception ex) {
System.out.println(ex);
}
}
}
}
3条答案
按热度按时间bfrts1fy1#
我想你忘了一个括号
"INSERT INTO reg1 values(?,?,?,?,?"
应该是这样的:"INSERT INTO reg1 values(?,?,?,?,?)"
5jdjgkvh2#
你搞错了意合(sql语法)。添加1
')'
上次之后?
. 这导致了sqlsyntaxerrorexception我已经更新了代码段:
whlutmcx3#
con.preparestatement(“插入reg1值(?,?,?,?)”;这是你代码中的错误。您应该这样尝试con.preparestatement(“insert into reg1 values(?,?,?,?)”;