【问题标题】:Way to frame an update query with parameters使用参数构建更新查询的方法
【发布时间】:2013-02-25 10:15:40
【问题描述】:

我正在开发 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 + "'");

我想重写更新查询,例如插入查询。我该怎么做?

【问题讨论】:

  • “带/不带参数”是什么意思?两个查询似乎都包含字符串参数。
  • 是的,但是对于插入的,列名在前,然后是参数。在更新的情况下它是不同的
  • 这只是UPDATE statements in SQL的格式。

标签: javascript sqlite insert titanium


【解决方案1】:

我有一个更新联系人的代码...您可以相应地修改它:

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()) });
    }

【讨论】:

  • 抱歉我的是javascript,不是java
  • 好吧...你提到了Android标签所以让我很困惑
猜你喜欢
  • 1970-01-01
  • 2013-09-29
  • 1970-01-01
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多