2013-09-24 2 views
1

잘 작동하는 Sqlite 데이터베이스가 있는데 문제가없는 행을 삽입 할 수 있지만 업데이트를 시도 할 때 하나의 열만 업데이트됩니다. 나는 1의 반환 값을 얻을 수 있지만 SCANNED이 업데이 트 열, 즉 이미 0의 값을했고SQLite 하나의 열만 업데이트 됨 Android

public int UpdateScanInvoice(String Invoice, int scanned, String empname, 
       int empnum) { 
     Calendar c = Calendar.getInstance(); 
     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd",Locale.US); 
     String formattedDate = df.format(c.getTime()); 
     SimpleDateFormat tf = new SimpleDateFormat("hh:mm:ss",Locale.US); 
     String formattedTime = tf.format(c.getTime()); 
     String strFilter = MySQLiteHelper.TICKETNR + "='" + Invoice +"'"; 
     ContentValues scanvalues = new ContentValues(); 
      scanvalues.put(MySQLiteHelper.LOADEMPNAME, empname); 
     scanvalues.put(MySQLiteHelper.SCANNED, scanned); 
     scanvalues.put(MySQLiteHelper.LOADEMPNUM, empnum); 
     scanvalues.put(MySQLiteHelper.LOADDATE,formattedDate); 
     scanvalues.put(MySQLiteHelper.LOADTIME, formattedTime); 
     SQLiteDatabase db = dbHelper.getWritableDatabase(); 
     int rowUpdated = db.update(MySQLiteHelper.TABLE_INVOICE, scanvalues,strFilter, null); 
     return rowUpdated; 
    } 

아마 내 원래의 삽입이 잘못 1로 변경했다 유일한 열은 무엇입니까? 이것은 원래 삽입물입니다.

values.put(MySQLiteHelper.SCANNED, 0); 
values.put(MySQLiteHelper.LOADDATE, ""); 
values.put(MySQLiteHelper.LOADTIME, ""); 
values.put(MySQLiteHelper.LOADEMPNAME, ""); 
values.put(MySQLiteHelper.LOADEMPNUM, ""); 

저는 파일에 19 개의 열이 있고 마지막 4 개만 삽입하거나 삽입 할 때 값을받지 않습니다. 데이터를 삭제 한 데이터베이스를 삭제했습니다. 동일한 결과가 나타납니다.

덕분에, 다시 모든 값을 업데이트하는 이유는 KimHJ

+0

로그 세부 정보를 제공해 주실 수 있습니까? – Amit

+0

'Log.v ("Results", "="+ Invoice + ""+ scanned + ""+ empname + ""+ empnum)'결과를 게시하십시오. – IronBlossom

+0

로그는 어디에서 찾을 수 있습니까? –

답변

1

당신은 단지에만이 같은 그 값을 업데이트하기위한 스캔 된 값을 변경하려면 ..

scanvalues.put(MySQLiteHelper.SCANNED, scanned); 
    SQLiteDatabase db = dbHelper.getWritableDatabase(); 
    int rowUpdated = db.update(MySQLiteHelper.TABLE_INVOICE, scanvalues,strFilter, null); 

만이 스캔 업데이트 충분하지만 모든 값을 업데이트하고 있습니다.이 모든 이전 데이터를 대체합니다.

+0

문제는 모든 값을 업데이트하려고하지만 스캔 만 업데이트됩니다. –

관련 문제