2016-04-15 27 views
2

我正在努力更新和查詢某些條目到我的數據庫。 上面的代碼將JobNo與數據庫中的條目進行比較,然後更新相應的代碼,但試圖僅更新該特定組件時,第二行會引發錯誤。什麼是寫入sqlite.query的正確方法? (Android)

 long id = db.update(DatabaseHelper.COMP_TABLE, contentValues, DatabaseHelper.HCJOBNO + " = '" + HCJobNo + "'" , null); 
    long id = db.update(DatabaseHelper.COMP_TABLE, contentValues, DatabaseHelper.HCJOBNO + " = " + HCJobNo + " AND " + DatabaseHelper.COMPONENTTAG + " = " + ComponentTag , null); 

Simliar查詢從數據庫 它拋出和錯誤獲取數據時。這第一行工作,其他兩個不正確

Cursor cursor = db.query(DatabaseHelper.COMP_TABLE, columns, DatabaseHelper.HCJOBNO + " = '" + JobNumber + "'", null, null, null, null); 
Cursor cursor = db.query(DatabaseHelper.CONDITION_TABLE, columns, DatabaseHelper.CONDITIONJOBNO + " =? AND " + DatabaseHelper.PARTTAG + " =?", selectionArgs, null, null, null, null); 
Cursor cursor = db.query(DatabaseHelper.COMP_TABLE, columns, DatabaseHelper.HCJOBNO + " = " + JobNumber + " AND " + DatabaseHelper.COMPONENTTAG + " = " + CompTag, null, null, null, null); 

什麼是寫這個特定的代碼的正確方法?

Cursor cursor = db.query(DatabaseHelper.COMP_TABLE, columns, DatabaseHelper.HCJOBNO + " = " + JobNumber + " AND " + DatabaseHelper.COMPONENTTAG + " = " + CompTag, null, null, null, null); 

編輯: 乾杯

long id = db.update(DatabaseHelper.COMP_TABLE, contentValues, DatabaseHelper.HCJOBNO + " = '" + HCJobNo + "' AND " + DatabaseHelper.COMPONENTTAG + " = '" + ComponentTag + "'", null); 
+0

它拋出了什麼錯誤?表格是如何定義的? –

+0

android.database.sqlite.SQLiteException:沒有這樣的列:Rod(code 1): 下面的答案固定了吧 – Jube

+0

接受答案然後,謝謝。 –

回答

4
Cursor cursor = db.query(DatabaseHelper.COMP_TABLE, columns, DatabaseHelper.HCJOBNO + " = " + JobNumber + " AND " + DatabaseHelper.COMPONENTTAG + " = " + CompTag, null, null, null, null); 
在你錯過身邊的變量撇號乍一看代碼這個特殊的字符串

- 就像你在你的第一個字符串做。

" = '" + JobNumber + "'" 

或者您是否已經將它們包含在變量的值中?

+0

甜蜜的感謝! 這是爲別人做的正確方法,後面我會用查詢來測試它! 查看主要questiion的答案,歡呼! – Jube

相關問題