2013-12-09 89 views
0

我從一個Activity中接收數據,在該Activity中創建一個SQL查詢,但是我在字符串中出現語法錯誤。感謝您的幫助Android查詢SQLIte語法錯誤

String sql = "SELECT _Id,Date,cas,N,E,Altro FROM Ge WHERE Ea>0 AND cas LIKE "+c_ricevuta+" AND date LIKE '"+anno_ricevuto+"-%' ORDER BY data DESC"; 

這裏語法錯誤:cas LIKE "+c_ricevuta+"

回答

1

c_ricevuta應該有可能會在單引號''

String sql = "SELECT _Id,Date,cas,N,E,Altro FROM Ge WHERE Ea>0 AND cas LIKE '"+c_ricevuta+"' AND date LIKE '"+anno_ricevuto+"-%' ORDER BY data DESC"; 

注意,在你這樣的查詢使用字符串params爲容易出現兩種語法錯誤和SQL注入。改爲使用?文字佔位符,例如query functions中的selectionArgs。

0

爲了以防萬一,我會在單詞和「+」之間放置空格。另外,你不用引號來包圍c_ricevuta

+0

'我會在單詞和「+」之間放置空格。 – njzk2

+0

因爲這樣的細節,我看到一些錯誤彈出。另外,讓代碼更具可讀性是一個很好的做法。 –

+0

這是一個很好的做法,是的(但是從可讀性的角度看這段代碼時,首先想到的是線的長度),但它不會導致錯誤。決不。 – njzk2