2014-10-21 3 views
0

나는 안드로이드에 코드를 작성하고있다. 한 열에서 데이터를 가져와 다른 열의 문자열에 추가하는 코드를 작성하려고합니다. 모든 데이터베이스에서이 작업을 수행하십시오.행별로 다른 행에 열 추가

가능하면 한 번에 열을 추가 (추가) 할 수 있습니다. 이처럼

:

전 :

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))");  
+0

은 내가 기본 키로 "_id"를 사용 ...이 * 질문 *에 새 코드를 사용했을 수 있습니다. 나는 "+"Database.KEY_ROW_ID + "="+ cursor.getColumnName (cursor.getColumnIndex (Database.KEY_COLUMN2)) " 부분을 추가했지만 작동하지 않습니다. 엑셀과 같이 다른 색으로 색을 추가 할 수 있습니까? – user4129359

+0

방금 ​​내 대답을 편집했습니다. 해당 쿼리를 사용해보십시오. cursor.getColumnName을 사용하고 있습니다. 여기서 column 값은 이름이 아닌 필수 항목입니다. – Rohit5k2