微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

参数化查询'@Date date,@ DocNo nvarchar2,@ CostCenter nvarchar11,@ Transac'期望使用未提供的参数'@AccountID'

如何解决参数化查询'@Date date,@ DocNo nvarchar2,@ CostCenter nvarchar11,@ Transac'期望使用未提供的参数'@AccountID'

我陷入了奇怪的境地。我有一个包含1个DateTimePicker 2个文本框,1个组合框和一个datagridview的表单。 我已经使用VB.Net设置了编码,该代码将数据同时存储在文本框DTPickers,组合框和Datagridview的所有行中的sql数据库的一行中。数据成功保存,但是AccountID不为null时,我却收到此错误消息。在建议dbnull.Value之前,我想在这里澄清一下,如果我使用此选项,它将在数据库中另存一行,并从DTpicker,文本框和组合框中获取现有值。请帮助我解决这个问题。

con.open()
    For Each row As DataGridViewRow In DataGridView1.Rows
        cmd = New sqlCommand("Insert into Transs (Date,DocNo,CostCenter,TransactionID,AccountID,AccountName,AccountType,Debit,Credit,Text) values (@Date,@DocNo,@CostCenter,@TransactionID,@AccountID,@AccountName,@AccountType,@Debit,@Credit,@Text)",con)

    cmd.Parameters.Add("@Date",sqlDbType.Date).Value = DateTimePicker1.Value
    cmd.Parameters.AddWithValue("@DocNo",TextBox1.Text)
    cmd.Parameters.AddWithValue("@CostCenter",ComboBox1.SelectedItem)
    cmd.Parameters.AddWithValue("@TransactionID",TextBox2.Text)
    cmd.Parameters.AddWithValue("@AccountID",row.Cells("Column1").Value)
    cmd.Parameters.AddWithValue("@AccountName",row.Cells("Column2").Value)
    cmd.Parameters.AddWithValue("@AccountType",row.Cells("Column3").Value)
    cmd.Parameters.AddWithValue("@Debit",row.Cells("Column4").Value)
    cmd.Parameters.AddWithValue("@Credit",row.Cells("Column5").Value)
    cmd.Parameters.AddWithValue("@Text",row.Cells("Column6").Value)
    Try
        cmd.ExecuteNonQuery()

    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
Next
con.Close()
MsgBox("Record saved successfully!")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。