2017-10-10 66 views
-1
String query="insert into employee values('"+e.getId()+",'"+e.getName()+"',"+e.getSalary()+")"; 

此代码有什么问题。错误 - 字符串不能正确地用双引号括起来;双引号未正确关闭

+6

打印您的查询,您应该'insert into employee values('someid,'somename',somesalary)' - 然后看看'someid'。 – Thomas

+0

@ thomas好景点!它不是正确关闭id,应该看起来像''“... + e.getId()+”','“...'注意'''在''末尾',' –

回答

0

引述缺少id字段

String query="insert into employee values('"+e.getId()+"','"+e.getName()+"',"+e.getSalary()+")"; 
0

你错过了几个报价:

String query="insert into employee values('"+e.getId()+"','"+e.getName()+"','"+e.getSalary()+"')"; 

即在e.getId()收盘之一,无论在e.getSalary()

+0

工资可能是数字 – Lothar

+0

@洛萨是真的,但通常我会想像id有更好的机会,所以我认为OP也错过了这一点。 – notyou

0

你对于ID只有一个单引号。删除它(id声音数字)或相应地添加一个关闭的。

更好的是,使用PreparedStatement并使用相应的方法设置参数以避免整个引用话题并防止SQL注入攻击。