我正在编写一个应用程序,它需要动态创建表。
我写了以下代码:

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();
    }

但它会使应用程序崩溃。找不到有什么问题。
日志:

最佳答案

在某些地方使用db在某些地方使用dbs
尝试此代码

public void CreateDynamicTables(String Table_Name, String Contact_ID, String Display_Name)
{

       dbs = this.getWritableDatabase();
        dbs.execSQL("DROP TABLE IF EXISTS " + Table_Name);
        String query = "CREATE TABLE " + Table_Name + "(" + CID + " TEXT PRIMARY KEY, " + DName + " TEXT);";
        dbs.execSQL(query);
        dbs = this.getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put(CID, Contact_ID);
        cv.put(DName, Display_Name);
        dbs.insert(Table_Name, null, cv);
        dbs.close();
    }

关于android - 在Android中动态创建表(单击按钮),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22068518/

10-10 14:00