Android SQLite将值从表复制到另一个表

时间:2014-08-05 21:11:51

标签: android arrays sqlite insert

我正在尝试复制表中的一些数据并插入另一个表中。我将数据输入到ArrayList中,然而,只复制给定的而不是所有存在的。我错过了什么?

private void Tras() {
String numero_ricevuto = (i.getStringExtra("numero"));
SQLiteDatabase db = mHelper.getWritableDatabase();
final ArrayList<Dettaglio_i> dettaglii = new ArrayList<Dettaglio_i>();
 String sql = "SELECT data, unita_di_misura FROM prev WHERE numero = '"+numero_ricevuto+"'";
 Cursor c = db.rawQuery(sql, null);
while (c.moveToNext()){
            Dettaglio_i e = new Dettaglio_i();
            e.data_ = c.getString(0);               
            e.unita_di_misura = c.getString(1);
            dettaglii.add(e);       
        }
c.close();
ContentValues cv = new ContentValues();
Dettaglio_i e = new Dettaglio_i();
cv.put(VerTable.SI_NO, "0");
cv.put(VerTable .DATA, e.data_);
cv.put(VerTable .U_M, e.unita_di_misura);
boolean inserite = false;
            if (!inserite){
                long result = db.insert(VerTable .TABLE_NAME, null, cv);

                if (result > 0){
                    inserite = true;
                }
            }

            if (inserite){


            }
            db.close();

}

1 个答案:

答案 0 :(得分:0)

尝试用以下代码替换代码:

private void Tras() {
    String numero_ricevuto = (i.getStringExtra("numero"));
    SQLiteDatabase db = mHelper.getWritableDatabase();

    String insert = String.format("INSERT INTO %s (%s, %s, %s) ",
            VerTable.TABLE_NAME, VerTable.SI_NO, VerTable.DATA, VerTable .U_M);

    String select = "SELECT '0', data, unita_di_misura FROM prev WHERE " +
            "numero='"+numero_ricevuto+"'";

    db.rawQuery(insert+select, null);

    db.close();
}