【发布时间】:2014-03-30 21:10:50
【问题描述】:
我正在编写一个应用程序,它需要动态创建表。 我写了以下代码:
public void CreateDynamicTables(String Table_Name, String Contact_ID, String Display_Name){
dbs.execSQL("DROP TABLE IF EXISTS " + Table_Name);
String query = "CREATE TABLE " + Table_Name + "(" + CID + " TEXT PRIMARY KEY, " + DName + " TEXT);";
dbs.execSQL(query);
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(CID, Contact_ID);
cv.put(DName, Display_Name);
db.insert(Table_Name, null, cv);
db.close();
}
但它会使应用程序崩溃。找不到它有什么问题。
Logcat:
【问题讨论】:
-
能否提供LogCat错误
-
将 logcat 添加到主线程 ^^
-
第 62 行:dbs.execSQL("DROP TABLE IF EXISTS" + Table_Name);
-
您是否在任何地方初始化了 dbs?它不在提供的代码中...
-
不,这导致了问题。现在可以了。