无法使用DataAdapter.insertCommand vb.net向数据库添加新行

时间:2017-04-08 17:18:19

标签: vb.net ms-access

我尝试使用命令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

请帮我弄清楚它有什么问题?

1 个答案:

答案 0 :(得分:1)

我赞成使用有效的方法,我看到上面的解决方案有效。但是,使用dataadapter的优点是它包装了数据表的CRUD操作所需的所有sql命令。您可以配置自己的命令,或让visual studio使用sqlcommandbuilder自动配置它们。一旦你配置了适配器,你需要做的就是这样的

5

CommandBuilder会自动向dataadapter添加插入,更新和删除命令(如果你的select命令只是一个表,否则你必须手动配置它)。