最近做程序,时不时需要自己去手动将sql语句直接写入到Java代码中,写入sql语句时,需要注意几个小问题。
先看我之前写的几句简单的sql语句,自以为没有问题,但是编译直接报错。
String str = "insert into XXX(a,b,c) values ('"a.getA()"','"a.getB()"','"a.getC()"');";
研究了半天发现应该是连接字符串问题,第一次修改过后将赋值字段前后加“+”号来完成sql语句。改正后代码如下
String str = "insert into XXX(a,b,c) values ('"+a.getA()+"','"+a.getB()+"','"+a.getC()+"');";
原来在数据库中给字段动态赋值需要以‘“+···+”’的方式来完成。好的,编译后成功,将运行的str的结果值放入sql数据库中测试,没有问题,自以为一切ok了,结果运行时再次报错。这把自己困扰住了,反复测试,在数据库中用sql语句来对比,没有问题啊,现将我最后成功的代码放上来,大家看看有没有什么不同。
String str = "insert into XXX(a,b,c) values ('"+a.getA()+"','"+a.getB()+"','"+a.getC()+"')";
没错,就是最后的分号,原来在java语句中不能讲分号加入到普通的sql语句中,虽然在数据库中没有报错,但是在java中一定还是要注意这种小问题的。