Vb.net &引用;调用的目标已引发异常。在vs 2010中

Vb.net &引用;调用的目标已引发异常。在vs 2010中,vb.net,Vb.net,您好,当我试图保存数据以访问2007年数据库时,我遇到了错误,如“异常已被调用的目标抛出”我正在制作一个项目,从磅秤上取重量并将其保存到数据库请帮助我解决错误 Try Dim PRO As String Dim CONNSTRING As String Dim COMMAND As String Dim MYCONNECTION As OleDbConnection = New OleDbConnection P

您好,当我试图保存数据以访问2007年数据库时,我遇到了错误,如“异常已被调用的目标抛出”我正在制作一个项目,从磅秤上取重量并将其保存到数据库请帮助我解决错误

 Try
        Dim PRO As String
        Dim CONNSTRING As String
        Dim COMMAND As String
        Dim MYCONNECTION As OleDbConnection = New OleDbConnection

        PRO = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\weight.accdb;Persist Security Info=True;Jet OLEDB:Database Password=weight"
        CONNSTRING = PRO
        MYCONNECTION.ConnectionString = CONNSTRING
        MYCONNECTION.Open()
        COMMAND = "insert into entry ([weight1],[date1],[time1],[weight2],[date2],[time2],[netweight],[vehicleno],[name],[contactno],[productname],[charge],[paymentstatus]) values ('" & weight1.Text & "','" & date1.Text & "','" & time1.Text & "','" & weight2.Text & "','" & date2.Text & "','" & time2.Text & "','" & netweight.Text & "','" & vehicleno.Text & "','" & custname.Text & "','" & contact.Text & "','" & Product.Text & "','" & charge.Text & "','" & status.Text & "')"
        Dim cmd As OleDbCommand = New OleDbCommand(COMMAND, MYCONNECTION)

        cmd.Parameters.Add(New OleDbParameter("weight1", CType(weight1.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("date1", CType(date1.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("time1", CType(time1.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("weight2", CType(weight2.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("date2", CType(date2.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("time2", CType(time2.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("netweight", CType(netweight.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("vehicleno", CType(vehicleno.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("name", CType(custname.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("contactno", CType(contact.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("productname", CType(Product.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("charge", CType(charge.Text, String)))
        cmd.Parameters.Add(New OleDbParameter("paymentstatus", CType(status.Text, String)))
        MsgBox("Saved")
        cmd.ExecuteNonQuery()
        cmd.Dispose()
        MYCONNECTION.Close()
        weight1.Clear()
        date1.Text = ""
        time1.Text = ""
        weight2.Clear()
        date2.Text = ""
        time2.Text = ""
        netweight.Clear()
        vehicleno.Text = ""
        custname.Text = ""
        contact.Text = ""
        Product.Text = ""
        charge.Clear()
        status.Text = ""
        weighttype.Focus()
        Call ticket()





    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

End Sub

按如下方式编写SQL代码:

COMMAND=“插入条目([weight1])值(@weight1)”
然后添加如下参数:

cmd.Parameters.Add(“@weight1”,OleDbType.VarChar,50)。Value=weight1.Text
在SQL中提供一个参数占位符,然后在添加该占位符时将其用作参数的名称。还指定数据类型,对于可变宽度类型,还指定大小。设置
或刚添加的参数


当您使用ACE OLE DB提供程序时,参数名称实际上将被忽略,但为了代码的清晰性,您应该使用它们。您必须确保参数的添加顺序与它们在SQL代码中出现的顺序相同。

这里混合了两个概念。提供参数的方式与命令查询不匹配。Text属性通常是字符串。您不需要CType()。