如何删除在java中选定的记录(行)MySQL数据库
如何删除一个MySQL数据库中选择记录(行) 我使用此代码如何删除在java中选定的记录(行)MySQL数据库
connectDB();
try{
java.sql.PreparedStatement stmt = con.prepareStatement("DELETE FROM tbl_codes WHERE No=? ");
String sql = "Delete FROM user WHERE No= "+txt_search_code.getText();
pstmt = con.prepareStatement(sql);
pstmt.setString(1,txt_search_code.getText());
pstmt.execute();
JOptionPane.showMessageDialog(null, " Your new records Deleted Succsessfully!!");
} catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
closeDB();
,但它获得类似这样的错误 -
java.sql.SQLException中:参数索引超出范围(1> 参数号,它是0)
那么,如何可以解决此problea米....(示例,请) 感谢
试试这个:
connectDB();
try{
java.sql.PreparedStatement stmt = con.prepareStatement("DELETE FROM tbl_codes WHERE No=? ");
stmt.setString(1,txt_search_code.getText());
stmt.execute();
JOptionPane.showMessageDialog(null, " Your new records Deleted Succsessfully!!");
} catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
closeDB();
非常感谢你的工作, – sumith
问题是你不能使用你要删除的引号字符串。
它应该是以下几点:
string sql = "Delete FROM user WHERE No= '" + txt_search_code.getText()+ "'";
SQL是现在特林转换为NUMERICS。
请用PreparedStatement ... –
不好意思,那肯定是更好的! –
删除你的String sql。你已经有了stmt。使用它来执行查询,而不是pstmt –
我试过这段代码[string sql =“Delete FROM user WHERE No ='”+ txt_search_code.getText()+“'”; ] 但它仍然获得类似这样的错误 - “值java.sql.SQLException:参数指标超出范围(1>参数的数量,这是0)” 那么怎样才能解决这个probleam ... (请举例) 谢谢 – sumith