SQLite Select语句在Android查询执行中给出错误

问题描述:

我有一个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

问题是与 “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