【发布时间】:2021-06-25 14:00:41
【问题描述】:
我可以通过 vb.net 应用程序在我的 MS 访问中添加、删除和搜索数据,但无法更新。它运行并完成更新查询,但不更新数据库,也不会出现任何错误。我是 VB.net 和 sql 的新手,并且一直遵循指南来获取我目前所拥有的内容。
我用于添加新记录的编码(对我来说很好):
Private Sub Savebtn_Click(sender As Object, e As EventArgs) Handles Addbtn.Click
Dim Insertquery As String = "Insert into Risk_Register(ID, Risk_Name, Risk_Description, Owner, Control, Probability, Impact, Risk_Level) values (@ID, @Risk_Name, @Risk_Description, @Owner, @Control, @Probability, @Impact, @Risk_Level)"
Runquery(Insertquery)
MsgBox("The record has been added successfully to the database.", 0, "Information")
End If
End Sub
更新(不更新)
Private Sub Updatebtn_Click(sender As Object, e As EventArgs) Handles Updatebtn.Click
Dim Updatequery As String = "Update Risk_Register Set Risk_Name=@Risk_Name, Risk_Description=@Risk_Description, Owner=@Owner, Control=@Control, Probability=@Probability, Impact=@Impact, Risk_Level=@Risk_Level Where ID=@ID"
Runquery(Updatequery)
MsgBox("The record has been updated successfully in the database.", 0, "Information")
End Sub
运行查询编码
Public Sub Runquery(ByVal query As String)
con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\ahmed\OneDrive\Desktop\ProjectDatabase2003.mdb")
Dim cmd As New OleDbCommand(query, con)
cmd.Parameters.AddWithValue("@ID", txtRiskid.Text)
cmd.Parameters.AddWithValue("@Risk_Name", txtRiskname.Text)
cmd.Parameters.AddWithValue("@Risk_Description", txtRiskdescription.Text)
cmd.Parameters.AddWithValue("@Owner", txtOwner.Text)
cmd.Parameters.AddWithValue("@Control", txtControl.Text)
cmd.Parameters.AddWithValue("@Probability", txtProbability.Text)
cmd.Parameters.AddWithValue("@Impact", txtImpact.Text)
cmd.Parameters.AddWithValue("@Risk_Level", txtRisklevel.Text)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Sub
【问题讨论】:
-
你做了什么调试?也许 txtRiskid.Text 的内容与数据库中的任何行都不匹配?
-
在搜索或删除记录时,我使用 txtRiskid.Text 来完成这些功能,当我这样做时它可以工作,但当我尝试更新时就不行。
标签: sql vb.net visual-studio ms-access