2013-01-22 90 views
0

在我的应用程序中,我读取了一些添加到数据库中的值,并将它们插入到微调器中。我想删除任何我想要的值,但错误消息的方式是没有该名称的列。即使我的微调者填满了价值观。错误信息:从sqlite中删除值android

android.database.sqlite.SQLiteException: no such column: bmw (code 1), while compiling: DELETE FROM MyCars WHERE MyCarsBrand=bmw at android.database.sqlite.SQLiteConnection.nativePrepareStatement 

这里是我的代码:

  if (db.deleteTitle(deleteSpinner.getSelectedItem().toString())) 
       Toast.makeText(DeleteCarActivity.this, 
         "Delete successful.", Toast.LENGTH_LONG).show(); 
      else 
       Toast.makeText(DeleteCarActivity.this, "Delete failed.", 
         Toast.LENGTH_LONG).show(); 
      db.close(); 

其他类

public boolean deleteTitle(String rowId) 
    { 
     return db.delete(MY_CARS_TABLE, MY_CARS_BRAND_COLUMN + 
       "=" + rowId, null) > 1; 
    } 

回答

1

更换

return db.delete(MY_CARS_TABLE, MY_CARS_BRAND_COLUMN + 
       "=" + rowId, null) > 1; 

return db.delete(MY_CARS_TABLE, MY_CARS_BRAND_COLUMN + 
       "='" + rowId + "'", null) > 1; 

你需要围绕字符串参数。

+0

我讨厌这些细节。谢谢你m8。有效。 – lantonis