我这样使用,但不知道发生了什么,它没有显示任何东西。 那么如何在我的代码中使用AND运算符: 数据库java:
public boolean loginstatus(String TABLE_NAME,String COL_3,StringCOL_4,String log,String pss)
{
try {
SQLiteDatabase db=this.getReadableDatabase();
Cursor cursor=db.rawQuery("SELECT "+COL_4+COL_3+" FROM
"+TABLE_NAME+" WHERE "+COL_4+"='"+log+" AND
"+COL_3+"=,"+pss+"'",null);
if (cursor.moveToFirst()) {
db.close();
Log.d("Record Already Exists", "Table is:"+TABLE_NAME+"
ColumnName:"+COL_4);
return true;//record Exists
}
这是活动类代码:
public void onClick(View view) {
try {
boolean recordExists =
myDb.loginstatus(DatabaseOperation.TABLE_NAME,DatabaseOperation.COL_3,user.getText().toString(),DatabaseOperation.COL_4,us.getText().toString());
if (recordExists) { }
答案 0 :(得分:1)
我认为您在查询中缺少逗号。如果您查看SELECT "+COL_4+COL_3+" FROM
,就可以看到只是将列名添加到一起。
因此,如果COL_4是用户名,则COL_3是您的查询将查询的电子邮件:
SELECT usernameemail FROM ...
所以你没有得到任何结果,因为这个专栏可能不会存在。你也错过了一个' 。 尝试编辑您的查询,如下所示:
Cursor cursor = db.rawQuery("SELECT " + COL_4 + "," + COL_3 + " FROM " + TABLE_NAME + " WHERE" + COL_4 + " = '" + log + "' AND " + COL_3 + " = '" + pss + "'",null);