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