我尝试使用命令DataAdapter.InsertCommand将新记录添加到数据库。但我不知道它为什么不向数据库插入新记录
这是我的代码:
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Dim cnn As New OleDb.OleDbConnection
Dim cmd As New OleDb.OleDbCommand
Dim da As New OleDb.OleDbDataAdapter
Dim ds As New DataSet
Dim dt As New DataTable
cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\1_Project\Project_of_VB_Net\AccessDatabase\StudentDatabase.accdb"
cmd.Connection = cnn
cmd.CommandText = "INSERT INTO StudentData(StudentID) VALUES (@studentid)"
cmd.Parameters.AddWithValue("@studentid", "123")
Try
cnn.Open()
da.InsertCommand = cmd
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
cnn.Close()
End Try
End Sub
请帮我弄清楚它有什么问题?
答案 0 :(得分:1)
我赞成使用有效的方法,我看到上面的解决方案有效。但是,使用dataadapter的优点是它包装了数据表的CRUD操作所需的所有sql命令。您可以配置自己的命令,或让visual studio使用sqlcommandbuilder自动配置它们。一旦你配置了适配器,你需要做的就是这样的
5
CommandBuilder会自动向dataadapter添加插入,更新和删除命令(如果你的select命令只是一个表,否则你必须手动配置它)。