我在Oracle中编写了一个简单的SQL查询,它插入了一些值。
但我得到SQLSyntaxErrorException
声明“缺少表达式”错误。
我的查询:
String addManager = "INSERT INTO property_manager(EIN,NAME,HOME_PHONENUMBER,MOBILE_PHONENUMBER,EMAIL,PROPERTY_CIN)" +
"VALUES (" + mein.getText() + "," + mname.getText() +","+ mHome_phonenumber.getText() +","+ MMobile_phonenumber.getText()+"," + memail.getText() + ","+mproperty_cin.getText()+")";
答案 0 :(得分:2)
最佳解决方案是使用java.sql.PreparedStatement
。
'
)以及会破坏查询的字符只需谷歌java PreparedStatemnt
,您就会看到很多样本。
答案 1 :(得分:1)
您应该将您的值放在引号内。
String addManager = "INSERT INTO property_manager(EIN,NAME,HOME_PHONENUMBER,MOBILE_PHONENUMBER,EMAIL,PROPERTY_CIN)" +
"VALUES ('" + mein.getText() + "','" + mname.getText() +"','"+ mHome_phonenumber.getText() +"','"+ MMobile_phonenumber.getText()+"','" + memail.getText() + "','"+mproperty_cin.getText()+"')";
或者更好的是,使用参数。否则你冒着sql注入攻击的风险。