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):无法创建或打开数据库
答
问题是与 “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
很可能是你的问题是在'SAMPLEDB = ...'行。什么是SAMPLE_DB_NAME? – 2011-03-14 07:13:37
看来,错误不在您的select语句中,而是在数据库的打开中。你能提供更详细的日志吗? – 2011-03-14 07:15:10