更新数据库 MS Access vb.net 中的数据 [英] Updating Data in Database MS Access vb.net
问题描述
Private Sub Exe1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
txtScore.Enabled = False
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\SJMI.Alfie\Documents\Visual Studio 2010\Projects\WindowsApplication2\WindowsApplication1\Accounts.accdb"
con.Open()
End Sub
Private Sub Submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Submit.Click
myqry = "UPDATE Accounts SET StudNo=?, Exer1=? WHERE Number=?"
Cmd = New OleDbCommand(myqry, con)
Cmd.Parameters.AddWithValue("?", txtScore.Text)
Cmd.Parameters.AddWithValue("?", myID.Text)
Cmd.ExecuteNonQuery()
txtScore.Text = score.ToString
con.Close()
MsgBox("Thank You!!")
Login.Show()
Me.Hide()
End Sub
点击提交按钮后没有任何反应.
Nothing happens after I click the submit button.
推荐答案
将 OleDb 与 Access 结合使用时,必须按照参数值在 SQL 语句中出现的顺序提供参数值.
When you're using OleDb with Access, you must supply the parameter values in the order they appear in your SQL statement.
此外,您的 UPDATE
包括 3 个参数,但您的代码仅提供其中 2 个参数的值.您需要添加第三个参数值,但我不知道它来自哪里.
Also your UPDATE
includes 3 parameters but your code supplies values for only 2 of them. You need to add the third parameter value, but I don't know where that comes from.
我认为你需要一些接近于此的东西,并替换任何适合我的[数值参数的值]占位符.
I think you need something close to this, and substitute whatever is appropriate for my [value for Number parameter] placeholder.
myqry = "UPDATE Accounts SET StudNo=?, Exer1=? WHERE [Number]=?"
Cmd = New OleDbCommand(myqry, con)
Cmd.Parameters.AddWithValue("?", myID.Text)
Cmd.Parameters.AddWithValue("?", txtScore.Text)
Cmd.Parameters.AddWithValue("?", [value for Number parameter])
Cmd.ExecuteNonQuery()
注意我将字段名称 Number 括在方括号中,因为它是一个 保留词.
Note I enclosed the field name Number in square brackets because it is a reserved word.
这篇关于更新数据库 MS Access vb.net 中的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!