我想從sqlite數據庫更新一些值。如果我更新一列值正確,當我嘗試更新沒有主鍵的多個值,然後我的活動使terminate.i將感激如果能夠知道這個錯誤的原因。ANDROID SQLITE-多個更新的錯誤
我的示例代碼:
這段代碼運行良好(在這裏我只對列的更新)
private void updateData(){
String fullName= editText_fullName.getText().toString();
String emailAddress= editText_emailAddress.getText().toString();
String mobileNo= editText_mobileNo.getText().toString();
String address= editText_address.getText().toString();
String voiceCode=button_tackeVoice.getText().toString();
String password=editText_password.getText().toString();
final SQLiteDatabase myDB = openOrCreateDatabase(FeedReaderDbHelper.DATABASE_NAME, MODE_PRIVATE,
null);
updateStringData(myDB, FeedReaderDbHelper.FULL_NAME, fullName);
}
private void updateStringData(SQLiteDatabase myDB,String columnName,String data){
try {
String strSQL = "UPDATE user SET "+columnName+" ='"+data+"' WHERE userName = '"+ userData.userName+"'";
myDB.execSQL(strSQL);
myDB.close();
}catch (android.database.sqlite.SQLiteConstraintException ex) {
}
}
此代碼可怕的:(我在這裏要更新多列)
private void updateData(){
String fullName= editText_fullName.getText().toString();
String emailAddress= editText_emailAddress.getText().toString();
String mobileNo= editText_mobileNo.getText().toString();
String address= editText_address.getText().toString();
String voiceCode=button_tackeVoice.getText().toString();
String password=editText_password.getText().toString();
final SQLiteDatabase myDB = openOrCreateDatabase(FeedReaderDbHelper.DATABASE_NAME, MODE_PRIVATE, null);
updateStringData(myDB, FeedReaderDbHelper.FULL_NAME, fullName);
updateStringData(myDB,FeedReaderDbHelper.EMAIL_ADDRESS,emailAddress);
updateStringData(myDB,FeedReaderDbHelper.MOBILE_NO,mobileNo);
updateStringData(myDB,FeedReaderDbHelper.ADDRESS,address);
updateStringData(myDB,FeedReaderDbHelper.VOICE_CODE,voiceCode);
updateStringData(myDB,FeedReaderDbHelper.USER_PASSWORD,password);
}
private void updateStringData(SQLiteDatabase myDB,String columnName,String data){
try {
String strSQL = "UPDATE user SET "+columnName+" ='"+data+"' WHERE userName = '"+ userData.userName+"'";
myDB.execSQL(strSQL);
myDB.close();
}catch (android.database.sqlite.SQLiteConstraintException ex) {
}
}
嘗試移動myDB.close();畢竟updateStringData(...); – aletede91
謝謝,將myDB.close()移到updateData()的底部後,我的問題仍然存在。 –
你會得到什麼錯誤?有多少SQL更新不起作用?你的日誌中有異常嗎? – aletede91