2012-11-01 32 views
6

Xin chào tất cả Im a newbie Androidian, và bạn sẽ yêu một số trợ giúp về điều này?Android :: SQLite, không tìm thấy cột nào?

android.database.sqlite.SQLiteException: không có cột như: asd:, khi biên dịch: DELETE FROM nhãn WHERE name = asd

đây là lỗi đang phải đối mặt, và đây là các mã:

này là phương pháp trong DBhelper:

/** 
* Delete a label table 
* */ 
public void deleteLabel(String label) { 
    SQLiteDatabase db = this.getWritableDatabase(); 

    // ContentValues values = new ContentValues(); 
    // values.remove(label); 

    // Deleting Row 
    db.delete(TABLE_LABELS, KEY_NAME + "=" + label, null); 
    db.close(); // Closing database connection 
} 

và đây là mã Hoạt động chính mà gọi phương pháp:

// for spinner onItemListener 
// and here is what label is 

final String label = parent.getItemAtPosition(position).toString(); 

Button dialogDeletelButton = (Button) dialog 
       .findViewById(R.id.deleteButton); 
     dialogDeletelButton.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // database handler 
       DatabaseHandler db = new DatabaseHandler(
         getApplicationContext()); 

       // inserting new label into database 
       db.deleteLabel(label); 

       // Hiding the keyboard 
       InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
       imm.hideSoftInputFromWindow(inputLabel.getWindowToken(), 0); 

       // loading spinner without the deleted data 
       loadSpinnerData(); 

      } 
     }); 

Trả lời

13

Bạn gần như chắc chắn cần báo giá 'asd' (ví dụ: biến số label trong mã của bạn). Nếu được trích dẫn, đó là chuỗi để so sánh với cột name.

Nếu nó không được bầu chọn, SQL chỉ coi nó như một tên cột khác.

Bạn có thể làm điều này trong hoạt động của bạn với:

db.deleteLabel ("'" + label + "'"); 

nhưng nó có thể được sạch hơn để thay đổi chức năng helper:

db.delete (TABLE_LABELS, KEY_NAME + "='" + label + "'", null); 

vì nó trông giống như bạn có thể muốn làm điều gì đó với nhãn không được đánh dấu tại một số điểm trong đó (số ContentValues nội dung hiện đã được nhận xét).

+1

Cảm ơn bạn rất nhiều, hoạt động của nó ngay bây giờ. – Tayseer

+0

Bạn có thể vui lòng kiểm tra điều này nếu bạn có thể: http://stackoverflow.com/questions/13178056/android-get-data-from-another-activity – Tayseer

+0

'' là kẻ giết thời gian – playmaker420

Các vấn đề liên quan