这是我的表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);
}
这里有什么问题?
答案 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)
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