ホームページ > 記事 > コンピューターのチュートリアル > VB でデータベース レコードの値を更新する方法
上の階の道教の友人の方法:
sSQL="テーブルセットフィールドを更新=20"
は次のように変更する必要があります:
sSQL="テーブルセットフィールド1=20,...,フィールド2=20、id=3を更新"
ただし、データベースにレコード 3 が存在しない場合は、エラーが発生します。
レコードセットを使用して処理する別の方法もあります:
新しい adodb.connection として cn をディムします
新しい adodb.recordset として rs をディムします
rs.open "id=3 のデータベースから * を選択",adOpenDynamic, adLockOptimistic, -1
rs.eofでない場合は
rs("変更するフィールド 1")="特定の値 1"
...
rs("フィールドn"変更したい)="特定の値n"
rs.更新
終了 if
rs.close
これは設計時に行うことが多いのですが、手間はかかりますが、基本的にはエラーが起きにくいですし、データの一意性を確保するためにも、データベース設計時にIDを付けておくと良いでしょう。
Private Sub Command1_Click() '本を借りる'
ブール値として jc を暗くする
jc = 偽
Adodc1.Recordset.MoveFirst
For i = 1 to Adodc1.Recordset.RecordCount
Text1.Text = Adodc1.Recordset.Fields(1).Value および Adodc1.Recordset.Fields(4).Value = True の場合
Adodc1.Recordset.Fields(4).Value = Adodc1.Recordset.Fields(4).Value ではありません
Adodc1.Recordset.Update
jc = 真
終了の場合
Adodc1.Recordset.MoveNext
次のi
If jc then MsgBox "貸出に成功しました" Else MsgBox "本は借りられたか、本が存在しません"
エンドサブ
Private Sub Command2_Click() '本を返してください'
ブール値としてディム hs
hs = 偽
Adodc1.Recordset.MoveFirst
For i = 1 to Adodc1.Recordset.RecordCount
Text1.Text = Adodc1.Recordset.Fields(1).Value かつ Adodc1.Recordset.Fields(4).Value = False の場合
Adodc1.Recordset.Fields(4).Value = Adodc1.Recordset.Fields(4).Value ではありません
Adodc1.Recordset.Update
jc = 真
終了の場合
Adodc1.Recordset.MoveNext
次のi
If jc then MsgBox "正常に返されました" Else MsgBox "その本はすでに図書館にあるか、本が存在しません"
エンドサブ
プライベートサブフォーム_Load()
Text1.Text = """
Adodc1.Visible = False
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;データ ソース=" & App.Path & "\mybook.mdb;Persist Security Info =false""
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "ブックから * を選択"
Adodc1.Refresh
エンドサブ
以上がVB でデータベース レコードの値を更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。