我有一个代码,用于创建一个包含2个表的数据库。
private static final String tablecommandes="CREATE TABLE Commandes (no INTEGER NOT NULL PRIMARY KEY,equipe TEXT NULL,nom TEXT NULL,adresse TEXT NULL,ville TEXT NULL,tel TEXT NULL,frequence INTEGER NULL,datelastserv TIMESTAMP NULL,priorite INTEGER NULL);";
private static final String tabletravaux="CREATE TABLE Travaux (notrav INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, travid TEXT NULL, notravlogiciel INTEGER NULL, nocom INTEGER NULL, debut TIMESTAMP NULL,fin TIMESTAMP NULL,temps INTEGER NULL);";
private static final String DATABASE_CREATE = tablecommandes+" "+tabletravaux;
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DATABASE_CREATE);
}
当我试图对两个表进行查询时,我得到“没有这样的表Travaux”
public Cursor fc() throws SQLException {
Cursor mCursor = database.query(true, "Commandes , Travaux", new String[] {
Fieldno,FieldNom,FieldAdresse,Fieldville,Fieldtel,Fieldfreq,Fieldlastserv,Fieldequipe},
"Commande.NoCommande=Travaux.NoCommande",null, null, null, null,null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
这适用于我的HC平板电脑,但不适用于我的ICS平板电脑。 有什么想法吗?
答案 0 :(得分:3)
来自SQLiteDatabase.execSQL()文档:
执行单个SQL语句...
因此,即使您的代码在某些设备上运行,也可以尝试将构建语句分解为两个命令:
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(tablecommandes);
database.execSQL(tabletravaux);
}