レコードの更新を行いたい
SQL Serverのレコードを更新するサブルーチンを作成しています。
変更したいSQL Server側のフィールドはbit型です。
更新するレコードは1件だけになります。
発生している問題・エラーメッセージ
フィールドの値が書き変わらない。
該当のソースコード
Visual
1 Private Sub SwitchMissField(ByVal wPersonalID As Integer, ByVal wPassID As String) 2 Dim ent As New DataClasses1DataContext 3 Dim t = From p In ent.Entrant Where p.PersonalID = wPersonalID And p.PasscardID = wPassID 4 5 If t.Count = 1 Then 6 'debug.print("1>" & t.First.Miss) 7 t.First.Miss = If(t.First.Miss = True, False, True) 8 'debug.print("2>" & t.First.Miss) 9 ent.SubmitChanges() 10 End If 11 End Sub
試したこと
Missフィールドに直接値を入れてみましたが、書き変わりませんでした。
値を入れる直前と直後に出力して確認しました。
また、レコード内の別のnvarchar(50)のフィールドに値を入れても、同じようにフィールドの内容に変化はありませんでした。こちらも値の代入直前、直後で出力して確認してあります。
SQL Server Management Studioから直接書き換えることで、値の変更が可能であることは確認済みです。
追加情報
更新したいテーブルの主キーが設定してなかったので、idフィールドを主キーにしてみました。
結果、状況に変化はありませんでした。
データベース側の設定の可能性もあると思うので、そちらも調べてみます。
補足情報(FW/ツールのバージョンなど)
Visual Studio 2017 (ver 15.9.4)
回答2件
あなたの回答
tips
プレビュー