当前位置:  开发笔记 > 数据库 > 正文

必须声明标量变量"@ ??????"

如何解决《必须声明标量变量"@??????"》经验,为你挑选了1个好方法。

我使用以下SQL语句:

      Dim strSql5 As String = "SELECT  * FROM dbo.ontledings " & _
                                " where plaasblok =  @plaasblokparsversoeke " & _
                                " and analisedatum  =  @laastedatum"


    cnn.Open()
    Dim aksie2 As New SqlClient.SqlCommand(strSql5, cnn)
    aksie2.Parameters.Add("@plaasblokparsversoeke", SqlDbType.VarChar).Value = plaasblokparsversoeke
    aksie2.Parameters.Add("@laastedatum", SqlDbType.Date).Value = laastedatum
    aksie2.ExecuteNonQuery()
    cnn.Close()

我想填充像这样的数据表:

    Dim dtb5 As New DataTable
    dtb5.Clear()

    Using cnn As New SqlConnection("Data Source=GIDEON-E-LAPTOP\SQLEXPRESS2014;Initial Catalog=SkeduleringDatabasis;Integrated Security=True")
        cnn.Open()

        Using dad5 As New SqlDataAdapter(strSql5, cnn)

            dad5.Fill(dtb5)
        End Using
        cnn.Close()
    End Using

我收到以下错误消息:必须声明标量变量"@plaasblokparsversoeke"

我无法弄清楚在哪里以及如何声明标量变量.

错误发生在以下行:dad5.Fill(dtb5)

问候



1> Rahul Tripat..:

你需要添加像这样的参数

cmd.Parameters.Clear() 
cmd.Parameters.AddWithValue("@plaasblokparsversoeke", plaasblokparsversoeke.Text)
cmd.Parameters.AddWithValue("@laastedatum", laastedatum.Text)

正如下面正确评论的那样,您需要使用Add方法添加参数:

cmd.Parameters.Add("@plaasblokparsversoeke", SqlDbType.Varchar).Value = plaasblokparsversoekeVariable;
cmd.Parameters.Add("@laastedatum", SqlDbType.Varchar).Value = laastedatumVariable;

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有