レコードの更新

Forguncyではレコードの追加を行うための以下のメソッドを提供しています。

Forguncy.updateTableData( tableName, primaryKey, updateValue, successCallback, errorCallback )

指定したテーブルに対してレコードが一意になるフィールド名と値、追加したいレコードのフィールド名と値を指定し、1件のレコードを更新します。

パラメーター

tableName

Type: String

追加したいデータが格納されているテーブルの名前。

 primaryKey

 Type: PlainObject

更新対象のレコードにおいて一意となるフィールド名と値を指定。
※プロパティ名にフィールド名、値にそのフィールドの値を持つオブジェクトを指定します。
※指定するフィールドが必ずしもデータベース上で一意制約を持つフィールドである必要はありません。

updateValue

Type: PlainObject

対象レコードの更新後のフィールド名と値を指定。
※プロパティ名にフィールド名、値にそのフィールドの値を持つオブジェクトを指定します。
※すべてのフィールドを含めることは必要はなく、更新したいフィールドのみを含めることができます。

successCallback

Type: Function( PlainObject data )

レコードの更新が成功したときに実行するコールバック関数を指定します。引数には追加するオブジェクト(newValueパラメータに指定した値)が渡されます。

errorCallback

Type: Function( String errorMessage )

レコードの更新が失敗したときに実行するコールバック関数を指定します。 引数にエラーメッセージが渡されます。

 

 サンプルコード

Forguncy.updateTableData("テーブル1", { "ID": 2 },
    {
        フィールド1: "りんご",
        フィールド2: "バナナ"
    },
    function (data) {             // レコードの更新に成功した場合
        alert("レコードが1件更新されました。");
    },
    function (errorMessage) {        // レコードの更新に失敗した場合
        alert(errorMessage);
    }
);

複数のフィールドを組み合わせて一意なレコードを特定する場合、以下のようなコードを使用します。

Forguncy.updateTableData("テーブル1", { "ID1": 2, "ID2" : 33  }, 
    {
        フィールド1: "りんご",
        フィールド2: "バナナ"
    },
    function (data) {             // レコードの更新に成功した場合
        alert("レコードが1件更新されました。");
    },
    function (errorMessage) {        // レコードの更新に失敗した場合
        alert(errorMessage);
    }
);