わかりました、まずねえ。
技術的には、私はこのサイトを初めて使用しますが、数年間リソースとして使用しており、あなたの助けが必要になったのは困惑したからです.
Db をクエリし、目的のボックスに文字列を入力して表示する VB スクリプトがあります。
私の問題は、Update SQL コマンドを使用しようとすると、完了しますが、手動でチェックすると DB が更新されないことです。
Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Data.mdb';")
Dim da As New OleDbDataAdapter
Dim dt As New DataTable()
Dim cmd As New OleDbCommand
da.SelectCommand = New OleDbCommand("update FDSL set Host=@Host, Owner=@Owner where ID = @ID", con)
Dim paramID As New OleDbParameter
paramID.ParameterName() = "@ID"
paramID.Value() = Label8.Text
da.SelectCommand.Parameters.Add(paramID)
Dim paramHost As New OleDbParameter
paramHost.ParameterName() = "@Host"
paramHost.Value() = TextBox1.Text
da.SelectCommand.Parameters.Add(paramHost)
Dim paramOwn As New OleDbParameter
paramOwn.ParameterName() = "@Owner"
paramOwn.Value() = TextBox4.Text
da.SelectCommand.ExecuteNonQuery()
MessageBox.Show("Record Updated! ", "Update Status", MessageBoxButtons.OK, MessageBoxIcon.Information)
Refresh()
con.Close()
最後に .tostring を使用してパラメーターも試しましたが、これも機能しません。
----------解決済み----------------
この支援について@Gord Thompsonに感謝する必要がありますが、再コーディングすることで問題を解決しました。
Dim str As String
str = "update FDSL set Hostname=@Hostname, Owner=@Owner where ID=@id"
Dim cmd As New OleDbCommand(str, con)
cmd.Parameters.AddWithValue("@Hostname", TextBox1.Text)
cmd.Parameters.AddWithValue("@Owner", TextBox2.Text)
cmd.Parameters.AddWithValue("@ID", textbox6.Text)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
これで正しく動作するようになりました。再度ご協力いただきありがとうございます。