如何在Android上运行此SQLite查询:从TABLE中选择X,其中X =某些东西,Y =某些东西

时间:2011-05-13 15:52:59

标签: android sqlite

这是我的表apTable:

db.execSQL("CREATE TABLE "+apTable+"
 ("
+idAP+" TEXT PRIMARY KEY , "
+ssID+" TEXT, " 
+testAPid+" INTEGER NOT NULL ,FOREIGN KEY ("+testAPid+") REFERENCES "+testsTable+" ("+colTestID+") ON DELETE CASCADE);");

我想创建一个查询,它将为我提供idAP行,其中idAP等于给定值,外键等于另一个给定值。

我这样做,但它不起作用:

 public String CheckAP(String BSSID, String Teste)
 {
     SQLiteDatabase db=this.getReadableDatabase();
     String[] params=new String[]{BSSID, Teste};
     Cursor c=db.rawQuery("SELECT "+idAP+" FROM "+apTable+" WHERE "+idAP+"="+BSSID+" AND "+testAPid+"="+Teste, null);           
     c.moveToFirst();
     int index= c.getColumnIndex(idAP);
    return c.getString(index);    
}

这里有什么问题?

2 个答案:

答案 0 :(得分:1)

请参阅此内容。

使用数据库openhelper。

http://www.screaming-penguin.com/node/7742

并使用它来检查您是否已创建数据库。

http://androidblogger.blogspot.com/2009/06/tutorial-how-to-access-android-database.html

答案 1 :(得分:0)

试试这个?认为内置查询无需放入where子句

即可工作
Cursor c=db.query(apTable, idAP, idAP+"="+BSSID+" AND "+testAPid+"="+Teste, null, null, null, null);

但是,如果您已经知道自己正在选择特定的idAP,为什么还要选择idAP?你不应该这样做吗?

Cursor c=db.query(apTable, idAP, testAPid+"="+Teste, null, null, null, null);

:S