Must declare the scalar variable "@CheckUser"

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Tony M

    Must declare the scalar variable "@CheckUser"


    vs 2005 - vb .net - web forms - xp pro

    Can't figure out why I keep getting the error Must declare the scalar
    variable "@CheckUser ".
    The error happens on SqlDA.Fill(SqlD S). Just trying to make sure EMail
    address doesn't exist in database before I insert data.
    Connection string and everything else is correct. If I use Dim SQL = "Select
    * from Clients where EMail = " & chr(39) & "SomeEmailAddre ss@msn.com" &
    chr(39) it works fine.


    Dim parmIfExist As New SqlParameter("@ CheckUser", txtEmail.Text)
    SQL = "Select * from Clients where EMail = @CheckUser"
    SqlCmd.CommandT ext = SQL
    SqlCmd.Connecti on() = SQLcon
    SqlCmd.Connecti on.Open()
    SqlCmd.Paramete rs.Clear()
    SqlCmd.Paramete rs.Add(parmIfEx ist)
    Dim SqlDA As New SqlDataAdapter( SQL, SQLcon)
    Dim SqlDS As New Data.DataSet()
    Dim DR As Data.DataRow

    SqlDA.Fill(SqlD S) << Error on this line Must declare the scalar variable
    "@CheckUser ".

    If SqlDS.Tables(0) .Rows.Count = 0 Then
    Do stuff
    end if


    Thanks


  • Teemu Keiski

    #2
    Re: Must declare the scalar variable &quot;@CheckUse r&quot;

    Hi,

    you don't use the SqlCmd object which has the SqlParameter associated,
    instead you pass the SQL directly to the data adapter when it wouldn't have
    knowledge of the parameter.

    "Dim SqlDA As New SqlDataAdapter( SQL, SQLcon)"

    Solution would be:

    Construct the SqlDataAdapter with the SqlCmd

    OR

    Omit SqlCmd and set parameter directly with
    SqlDa.SelectCom mand.Parameters .Add(...)

    --
    Teemu Keiski
    ASP.NET MVP, AspInsider
    Finland, EU


    "Tony M" <TonyMast_NOSPA M@msn.comwrote in message
    news:uqiRbKmJJH A.1156@TK2MSFTN GP05.phx.gbl...
    >
    vs 2005 - vb .net - web forms - xp pro
    >
    Can't figure out why I keep getting the error Must declare the scalar
    variable "@CheckUser ".
    The error happens on SqlDA.Fill(SqlD S). Just trying to make sure EMail
    address doesn't exist in database before I insert data.
    Connection string and everything else is correct. If I use Dim SQL =
    "Select * from Clients where EMail = " & chr(39) &
    "SomeEmailAddre ss@msn.com" & chr(39) it works fine.
    >
    >
    Dim parmIfExist As New SqlParameter("@ CheckUser", txtEmail.Text)
    SQL = "Select * from Clients where EMail = @CheckUser"
    SqlCmd.CommandT ext = SQL
    SqlCmd.Connecti on() = SQLcon
    SqlCmd.Connecti on.Open()
    SqlCmd.Paramete rs.Clear()
    SqlCmd.Paramete rs.Add(parmIfEx ist)
    Dim SqlDA As New SqlDataAdapter( SQL, SQLcon)
    Dim SqlDS As New Data.DataSet()
    Dim DR As Data.DataRow
    >
    SqlDA.Fill(SqlD S) << Error on this line Must declare the scalar
    variable "@CheckUser ".
    >
    If SqlDS.Tables(0) .Rows.Count = 0 Then
    Do stuff
    end if
    >
    >
    Thanks
    >

    Comment

    Working...