如何在活动的运行时插入数据库?

时间:2011-11-21 10:19:01

标签: java android database

我已完成开发应用程序的第一阶段。我想在实际设备上测试 ,以便将我的手机连接到我的计算机并安装应用程序。此应用程序使用数据库,因此当我在移动设备上运行我的应用时会抛出错误

W/System.err(21912): android.database.sqlite.SQLiteException: no such table: UserTable: , while compiling: SELECT * FROM UserTable WHERE username='null'

如何在运行时将数据库插入设备?

通过Eclipse插入它的常规方法不会以root用户身份访问。手机会阻止它。

2 个答案:

答案 0 :(得分:1)

    public class _DBHelper extends SQLiteOpenHelper {
    @Override
        public void onCreate(SQLiteDatabase db) {
            try {
                db.execSQL(strCREATE_TABLE1);
                InitTables(db);
            } catch (Exception e) {
                Log.i(this.getClass().getName(), e.getMessage());
            }

        }

        private void InitTables(SQLiteDatabase db) {
            ContentValues cv = new ContentValues();
            cv.put("colName", "...");
            //..
            db.insert("MyTable", "id", cv);
        }

    }

答案 1 :(得分:0)

请参阅本指南:

http://www.vogella.de/articles/AndroidSQLite/article.html

要创建新表,您必须使用onCreate(SQLiteDatabase database)方法然后在

中编写代码
onUpgrade(SQLiteDatabase database, int oldVersion,
            int newVersion) pass the new version.