选择查询中的一个或多个必需参数没有给出值

Posted

技术标签:

【中文标题】选择查询中的一个或多个必需参数没有给出值【英文标题】:No value given for one or more required parameters in select query 【发布时间】:2021-10-02 13:11:25 【问题描述】:

选择查询有问题。如何在 (where) 之后添加正确的内容?

Private Sub sal_b1_Click(sender As Object, e As EventArgs) Handles sal_b1.Click
    If ComboBox3.Text <> "" Then
        Try
            Me.Refresh()
            con.Open()
            ds = New DataSet
            tables = ds.Tables
            da = New OleDbDataAdapter("Select inv_sall2.outdate, inv_sall2.custName, inv_sall2.ac, inv_sall2.subtotal, inv_sall2.taf, inv_sall.itemName, inv_sall.quntity, inv_sall.itemPrice, inv_sall.Tottal From inv_sall INNER Join inv_sall2 On inv_sall.no = inv_sall2.invoceno WHERE (((inv_sall2.invoceno)= '" & ComboBox3.Text & "'));", con)
            da.Fill(Form2.hazemDataSet, "datatable1")
            Form2.Show()
            con.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    Else
        MsgBox("please select the invoice number")
    End If
End Sub

【问题讨论】:

这能回答你的问题吗? How do I create a parameterized SQL query? Why Should I? 除了关闭连接外,还应该处理连接。 为什么要创建一个新的 DataSet 和一个变量来保存该新 DataSet 的 Tables 集合并且从不使用它们中的任何一个? 如果您使用的是 DataAdapter,它将为您打开和关闭连接。我无论如何都不会在需要之前打开连接几行。 【参考方案1】:

只要改成这样:

WHERE inv_sall2.invoceno = " & ComboBox3.Text & ";", con)

【讨论】:

以上是关于选择查询中的一个或多个必需参数没有给出值的主要内容,如果未能解决你的问题,请参考以下文章

没有为一个或多个必需参数提供值。查询中的错误是啥

错误:来自 ASP.NET 的 UPDATE 查询中的“没有为一个或多个必需参数提供值”

VBA SQL'没有为一个或多个必需参数提供值'但字段存在

查询带有标题的制表符分隔的文本文件时出现 VBA 错误 - “没有为一个或多个必需参数提供值”

“INSERT INTO 语句中的语法错误”和“没有为一个或多个必需参数提供值”

删除行时,一个或多个必需参数没有给定值