2017-03-15 6 views
0

Windowsアプリケーションで列を更新しようとしているときにエラーが発生しています。このクエリを使用しています。
string qu = "UPDATE Registration_class SET numOfSeat = 300"; await MainPage.con.UpdateAsync(qu);ユニバーサルWindowsアプリケーションでSqliteの列を更新する方法

Here is the Error Screenshot

あなたが他の情報が必要な場合は私に教えてください。 ありがとうございます。

+0

あなたは主キーがないテーブルを更新してみてください。主キーなしでデータを更新することができます(例:rownumの使用)。しかし、あなたはたぶんpkを作成する部分を省略したので、それを考慮する必要があります。この値がなければ、すべての行を一度に更新しようとしても、dbエンジンは特定の行を区別できません。 その他:[リンク](http://stackoverflow.com/questions/840162/should-each-and-every-table-have-a-primary-key) – soshman

+0

'public class Registration_class { 公開ストリング名{get ;セット; } 公開ストリングパスワード{get;セット; } public int numOfSeat {get;セット; } } 'これは、私がここで間違っていたことを修正する方法を教えてくれる表です。 –

答えて

1

使用しているsqliteのバージョンがわかりません。次に、エラー情報に応じてテーブルにPrimaryKeyを指定する必要があります。例えば

は、次のように:

public class Registration_class 
{ 
    [PrimaryKey, AutoIncrement] 
    public int Id {get;set;} 
    public string name { get; set; } 
    public int numOfSeat { get; set; } 
    public string password { get; set; } 
} 

それから私はあなたのコード内の別の間違った場所を指摘します。 SQL文を直接実行する場合は、Updateメソッドではなく、db.Execute("UPDATE Registration_class SET numOfSeat = 300");メソッドを使用する必要があります。

私のコードサンプルは、Diederikのブログに基づいていました:Using SQLite on the Universal Windows Platform

関連する問題