最近做程序,時不時需要自己去手動將sql語句直接寫入到Java代碼中,寫入sql語句時,需要注意幾個小問題。
先看我之前寫的幾句簡單的sql語句,自以為沒有問題,但是編譯直接報錯。
1 String str = "insert into XXX(a,b,c) values ('"a.getA()"','"a.getB()"','"a.getC()"');";
研究了半天發現應該是連接字符串問題,第一次修改過后將賦值字段前后加“+”號來完成sql語句。改正后代碼如下
1 String str = "insert into XXX(a,b,c) values ('"+a.getA()+"','"+a.getB()+"','"+a.getC()+"');";
原來在數據庫中給字段動態賦值需要以‘“+···+”’的方式來完成。好的,編譯后成功,將運行的str的結果值放入sql數據庫中測試,沒有問題,自以為一切ok了,結果運行時再次報錯。這把自己困擾住了,反復測試,在數據庫中用sql語句來對比,沒有問題啊,現將我最后成功的代碼放上來,大家看看有沒有什么不同。
1 String str = "insert into XXX(a,b,c) values ('"+a.getA()+"','"+a.getB()+"','"+a.getC()+"')";
沒錯,就是最后的分號,原來在java語句中不能講分號加入到普通的sql語句中,雖然在數據庫中沒有報錯,但是在java中一定還是要注意這種小問題的。