2011-03-14 92 views
0

我有一個sql查詢來從數據庫中獲取值,當WHERE子句匹配時,但iam無法獲取值。SQLite Select語句在Android查詢執行中給出錯誤

請讓我知道下面的查詢格式是否正確。

查詢:

try 
{ 

sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, MODE_PRIVATE, 
        null); 

Cursor c = sampleDB.rawQuery("SELECT * FROM " + SAMPLE_TABLE_NAME1 
    + "WHERE latitude = '"+latt1+"' AND longitude ='"+lng1+"'" , null); 

} 

其中latt1和lng1是字符串變量。

logcat的輸出:12月3日至14日:29:33.886:ERROR/CallBlocker(8106):無法創建或打開數據庫

+0

很可能是你的問題是在'SAMPLEDB = ...'行。什麼是SAMPLE_DB_NAME? – 2011-03-14 07:13:37

+1

看來,錯誤不在您的select語句中,而是在數據庫的打開中。你能提供更詳細的日誌嗎? – 2011-03-14 07:15:10

回答

0

問題是與 「SAMPLE_TABLE_NAME1」,不知道是什麼奇怪的。我用value和voila替換了SAMPLE_TABLE_NAME1,得到了輸出。

這裏是更新的查詢:

sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, MODE_PRIVATE, 
        null); 

Cursor c = sampleDB.rawQuery("SELECT * FROM profiles WHERE latitude = '"+latt1+"' AND longitude ='"+lng1+"' " , null); 
+0

我想這個問題是因爲表名和關鍵字「Where」之間沒有空格。 – 2011-03-14 07:25:49

+0

感謝您的回覆! – ReachmeDroid 2011-03-14 07:33:50