不存在行的Android SQL查询
我的应用程序中的SQLite数据库有点问题。 我的目标是在数据库中插入不存在的行,否则更新该行 如何检查具有给定条件的行是否存在 我试过:不存在行的Android SQL查询,android,sql,database,insert,Android,Sql,Database,Insert,我的应用程序中的SQLite数据库有点问题。 我的目标是在数据库中插入不存在的行,否则更新该行 如何检查具有给定条件的行是否存在 我试过: Cursor cursor = dbAdapter.query(dbName, null, "xcoord="+xcoord+" AND ycoord="+ycoord+" AND mac='"+mac+"'"+" AND ssid='"+ssid+"
Cursor cursor = dbAdapter.query(dbName, null, "xcoord="+xcoord+" AND ycoord="+ycoord+" AND mac='"+mac+"'"+" AND ssid='"+ssid+"'", null, null, null, null);
cursor.isNull(cursor.getColumnIndex("ssid"));
然后检查光标是否为空?但我得到了一个SQLException:
致命异常:主
android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为0
在android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)中
谢谢您的帮助。从您的查询中删除单词
EXISTS
。如果你得到任何排回来,你知道的东西在那里
EXISTS
子句将行集作为操作数(如子选择或联接),并根据是否存在任何内容计算为true或false
这可能不是处理这个问题的最佳方法,但我通常只是尝试插入
,,如果出现异常,我会在使用光标之前执行更新,,无论如何,我总是执行if(cursor!=null&&cursor.moveToFirst())
如果计算结果为false,则表示您没有表,或者没有记录。您得到的异常是什么?