2013-02-25 39 views
1

我正在使用Appcelerator Titanium中的應用程序。該應用程序使用sqlite數據庫。對於插入數據庫,我已經寫了查詢與參數這樣的:用參數構造更新查詢的方法

db.execute("INSERT INTO formData (unique_id,form_xml_id,dateTime_stamp,data,user_id,status) VALUES ('" + Ti.App.mydata._guid + "'," + findex + ",'"+datetime+"','"+fdata1+"'," + Ti.App.information.user_id + ",'" + formstatus + "')"); 

我還有一個查詢來更新數據庫中不同的表。但是查詢不帶參數。就像這樣:

db.execute("UPDATE formData SET form_xml_id=" + findex + ",dateTime_stamp='" + datetime + "',data='" + fdata + "',user_id=" + Ti.App.information.user_id + ",status='"+ DataStatus +"' where unique_id='" + Ti.App.mydata._guid + "'"); 

我想改寫更新查詢,就像插入查詢。我怎樣才能做到這一點?

+0

是什麼意思由「有/無參數?」這兩個查詢似乎都包含String參數。 – Nachi 2013-02-25 10:21:05

+0

是的,但是對於插入的一個,列名首先是參數。在更新的情況下,它是不同的 – kittu88 2013-02-25 10:23:25

+0

這只是[SQL中的UPDATE語句](http://www.w3schools.com/sql/sql_update.asp)的格式。 – Nachi 2013-02-25 10:25:33

回答

0

我有更新通訊錄中的代碼...你可以相應修改:

public int updateContact(Contact contact) { 
     SQLiteDatabase db = this.getWritableDatabase(); 

     ContentValues values = new ContentValues(); 
     values.put(KEY_NAME, contact.getName()); 
     values.put(KEY_PH_NO, contact.getPhoneNumber()); 

     // updating row 
     return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?", 
       new String[] { String.valueOf(contact.getID()) }); 
    } 
+0

對不起我的是在JavaScript中,而不是java – kittu88 2013-02-25 10:22:30

+0

好的...你剛纔提到的Android標籤讓我感到困惑 – 2013-02-25 10:25:47