Android SQL:检查数据库中的记录是否存在
我正在尝试根据特定id查询我的数据库Android SQL:检查数据库中的记录是否存在,android,sql,Android,Sql,我正在尝试根据特定id查询我的数据库 String sql = "SELECT * FROM mash WHERE recipe_id = '" + id + "'"; Cursor data = database.rawQuery(sql, null); 如果这是第一次运行“活动”,则该表将与id列一起存在,但不会有具有特定id的记录。如何检查该特定记录是否存在,如果不存在,如何添加该记录?我发现了很多关于检查特定列是否存在的方法,但对于检查特定记录是否存在的方法却一无所知 到目前为止,我已
String sql = "SELECT * FROM mash WHERE recipe_id = '" + id + "'";
Cursor data = database.rawQuery(sql, null);
如果这是第一次运行“活动”,则该表将与id列一起存在,但不会有具有特定id的记录。如何检查该特定记录是否存在,如果不存在,如何添加该记录?我发现了很多关于检查特定列是否存在的方法,但对于检查特定记录是否存在的方法却一无所知
到目前为止,我已经尝试获取id列索引并检查它是否返回-1,但由于某种原因,它实际上返回了1。在if语句中,我可以使用什么来验证尚未创建id列?我的代码是:
if (cursor.moveToFirst()) {
// record exists
} else {
// record not found
}
public void addContact(String a, String b, String c, String d, SQLiteDatabase db)
{
//cursor is use to check if data is availble then show row is exist if not then execute insert query.
Cursor mCursor = db.rawQuery("SELECT * FROM " + TABLE_CONTACTS + " WHERE email=? ", new String[]{b});
if (mCursor.moveToFirst())
{
value=false;
Toast.makeText(context,"Email alreay exist please enter anothe email id",Toast.LENGTH_LONG).show();
}
else
{
ContentValues values = new ContentValues();
values.put(Database_Handler.NAME, a); // Contact Name
values.put(Database_Handler.EMAIL, b);
values.put(Database_Handler.PASSWORD, c);
values.put(Database_Handler.NUMBER, d);
db.insert(Database_Handler.TABLE_CONTACTS, null, values);
Log.e("DATABASE OPERATION", "One row is insert");
Toast.makeText(context,"Data insert Sucessfully",Toast.LENGTH_SHORT).show();
db.close();
value=true;
}
}