我收到以下错误
ExecuteNonQuery:连接属性尚未初始化。
当运行以下代码时
Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click
Using con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Comp-296\Project1\Project1\Game_time.mdb")
Using cmd = New OleDbCommand("UPDATE User-scores SET User_Name = @User_Name Game_Name = @Game_Name Score = @Score, [Time/Date] = @dt")
con.Open()
cmd.Parameters.Add("@User_Name", OleDbType.VarWChar).Value = txtUser.Text
cmd.Parameters.Add("@Game_Name", OleDbType.VarWChar).Value = txtGame.Text
cmd.Parameters.Add("@Score", OleDbType.VarWChar).Value = txtScore.Text
cmd.Parameters.Add("@dt", OleDbType.Date).Value = Convert.ToDateTime(txtDate.Text)
cmd.ExecuteNonQuery()
MessageBox.Show("Data Update successfully")
End Using
End Using
End Sub
我是否忘记在参数中添加一些内容?
您必须将连接作为参数传递给OledbCommand
只需使用以下代码
Using con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Comp-296\Project1\Project1\Game_time.mdb")
Using cmd = New OleDbCommand("UPDATE [User-scores] SET [User_Name] = ?, [Game_Name] = ?, Score = ?, [Time/Date] = ? WHERE id = 1", con)
con.Open()
cmd.Parameters.Add("@p1", OleDbType.VarWChar).Value = txtUser.Text
cmd.Parameters.Add("@p2", OleDbType.VarWChar).Value = txtGame.Text
cmd.Parameters.Add("@p3", OleDbType.VarWChar).Value = txtScore.Text
cmd.Parameters.Add("@p4", OleDbType.Date).Value = Convert.ToDateTime(txtDate.Text)
cmd.ExecuteNonQuery()
MessageBox.Show("Data Update successfully")
End Using
End Using
看起来你必须使用?
标记将参数传递给OledbCommand
(你的方法是为了SQLCommand
)
阅读更多关于Oledb 参数 https://msdn.microsoft.com/en-us/library/system.data.oledb.oledbparameter(v=vs.110).aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)