【问题标题】:Android SQLite copy values from table to another tableAndroid SQLite 将值从表复制到另一个表
【发布时间】:2014-08-05 21:11:51
【问题描述】:

我正在尝试复制表中的一些数据并插入到另一个表中。我将数据输入到一个 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();

}

【问题讨论】:

  • “给定”一词究竟是什么意思?

标签: android arrays sqlite insert


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-16
    • 2021-01-01
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多