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