在数据库处理程序中将行插入表

时间:2014-07-09 11:04:53

标签: android database sqlite

我想将数据插入到我的SQLite数据库中。它由3列组成:name,family,id。

这是我的方法:

private void FillColleagueTable(){
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();

    values.put(KEY_NAME, "mack"); 
    values.put(KEY_FAMILY, " jasone"); 

    // Inserting Row
     db.insert(TABLE_COLLEAGUE, null, values);
    //db.close(); // Closing database connection

}

我想在我的表中添加很多行,我认为这种方法不是最好的方法,有没有办法在我的数据库处理程序中使用类似查询的东西来减少我的代码行?任何帮助都将不胜感激

2 个答案:

答案 0 :(得分:0)

  1. 使用For Loop和Android的默认db.insert

    ContentValues values = new ContentValues(); for(int i = 0; i<=5; i++) { values.put(COLUMN_NAME, i); values.put(COLUMN_NAME, 0); db.insert(TABLE_NAME, null, values); }

  2. 在插入查询中使用union与多个选择结合使用:

    db.execSQL("INSERT INTO "+TABLE_NAME+ "SELECT 'mack' as KEY_NAME, 'jasone' AS KEY_FAMILY union select 'mack1', 'jasone1' union select 'mack2', 'jasone2'" );

    INSERT QUERY要具有以下语法:

    INSERT INTO 'tablename' SELECT 'data1' AS 'column1', 'data2' AS 'column2' UNION SELECT 'data3', 'data4' UNION SELECT 'data5', 'data6' UNION SELECT 'data7', 'data8'

  3. 将交易用作here

答案 1 :(得分:0)

您可以使用以下代码:

String sql = "INSERT or replace INTO tbl_Contain (name, family, id) VALUES('asdf','asdf,'1')" ;       
db.execSQL(sql);