我在android上编写代码。我尝试编写一个代码,从一列中获取数据并添加到另一列的字符串,为所有数据库执行此操作。
如果有可能,我可以一次添加(追加)列。
像这样:
在:
A column | B column
string 1 string 2
后:
A column | B column
string 1 string 2+string 1
我会尝试从列中获取字符串并更新列,但我无法做到。
SQLiteDatabase mydatabase = dbHelper.getMydatabase();
String query = new String( "select "+Database.KEY_COLUMN1+", "+Database.KEY_COLUMN'+ " from "+ Database.TABLE_NAME );
cursor = mydatabase.rawQuery(query,null);
while(cursor.moveToNext()) {
String column1 = cursor.getString(cursor.getColumnIndex(Database.KEY_COLUMN1));
String column2 = cursor.getString(cursor.getColumnIndex(Database.KEY_COLUMN2));
column2=column1+colum2;
mydatabase.execSQL("UPDATE "+Database.DATABASE_TABLE+" SET "+ Database.KEY_COLUMN2+ "="
+column2);
}
cursor.close();
之前我问过这个问题,但我更新了我的代码,有人说我在问到问题后无法编辑第一条消息。对不起。
答案 0 :(得分:1)
向表中添加主键,然后在连接两列后更新表时使用主键放置WHERE子句。
根据您的代码,数据库无法知道您要更新哪一行。
将此用作更新查询
mydatabase.execSQL("UPDATE "+Database.DATABASE_TABLE+" SET "+ Database.KEY_COLUMN2+ "="
+column2 + " WHERE " + Database.KEY_ROW_ID + " = " + cursor.getInt(cursor.getColumnIndex(Database.KEY_ROW_ID))");