用VB.Net插入access数据库

用VB.Net插入access数据库,vb.net,datatableadapters,Vb.net,Datatableadapters,我刚开始使用VB,在尝试将数据作为新条目插入access数据库表时遇到了困难。。。我知道我的SQL是正确的,但我不知道如何使用TableAdapter更新函数 我有 Me.TFaultLogTableAdapter.Adapter.InsertCommand.CommandText = SQL.newJob(staffNo, zone, jobType, 1) 我很确定我遗漏了一些东西,我以类似的方式使用了TableAdapter select命令,没有任何问题 请提供任何帮助:)您使用的工具

我刚开始使用VB,在尝试将数据作为新条目插入access数据库表时遇到了困难。。。我知道我的SQL是正确的,但我不知道如何使用TableAdapter更新函数

我有

Me.TFaultLogTableAdapter.Adapter.InsertCommand.CommandText = SQL.newJob(staffNo, zone, jobType, 1)
我很确定我遗漏了一些东西,我以类似的方式使用了TableAdapter select命令,没有任何问题


请提供任何帮助:)

您使用的工具不适合这份工作。假设您使用的是SQL Server(因为您没有指定),您可能需要以下内容:

Using CN As New SqlClient.SqlConnection("Your connection String")
    Using CMD As New SqlClient.SqlCommand("INSERT INTO tFaultLog (loggedBy, reportedBy, zone, fault, jobStart, technician) " & _
            "VALUES(@P1,@P2,@P3,@P4,@P5,@P6)", CN)

        CMD.Parameters.AddWithValue("@P1", loggedBy)
        CMD.Parameters.AddWithValue("@P2", 1)
        CMD.Parameters.AddWithValue("@P3", zone)
        CMD.Parameters.AddWithValue("@P4", 1)
        CMD.Parameters.AddWithValue("@P5", jobType)
        CMD.Parameters.AddWithValue("@P6", technician)

        CN.Open()
        CMD.ExecuteNonQuery()
        CN.Close()
    End Using
End Using

顺便说一句,SQL中的字段比值多。一定是打字错误。

首先,我不使用TableAdapters,所以可能不是100%正确。通常InsertCommand是一些带有参数的插入SQL。这告诉适配器如何将数据插入表中。IE
插入TFaultLog(StaffNo、zone、jobType、BitFlag)值(?、、?、1)
然后当您要保存时,告诉适配器进行更新(或者从我的头顶上听到一些我不知道的命令)。我不知道你在这里干什么。SQL.NewJob是否正在生成一些类似这样的通用SQL?是的,Steve NewJob正在生成SQL-SQL=“插入到tFaultLog(loggedBy、reportedBy、zone、fault、jobStart、technician)值(“&loggedBy&”、1、“&zone&”、“&jobType&”、“&technician&”),然后用OLEDB替换SQL。