We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

(VB2008) SqlException was unhandled: must declare the scalar variable "@FFEmailAlias"

Medium Priority
461 Views
Last Modified: 2012-05-07

I am using Visual Studio 2008 (VB2008) and trying to code a procedure which will return a record from the database using a parameter.  When I execute this code, I get a SqlException error.  I have tried a number of things from articles found here and still cannot get this to work.  

HELP?!
 
Sub ValidateUser()
 
        'get strUserName from environment
        strUserName = Environ("USERNAME")
 
        'look for strUserName in Employee Table
        Dim EmailAliasParm As New SqlParameter("@FFEmailAlias", strUserName)
 
        'EmailAliasParm.ParameterName = "@FFEmailAlias"
        'EmailAliasParm.Value = strUserName
 
        connection.ConnectionString = connectionString
        selectStatement = "SELECT * FROM Employee WHERE EmailAlias = @FFEmailAlias"
 
        Dim selectCommand As New SqlCommand(selectStatement, connection)
 
        Try
 
            connection.Open()
 
            Dim reader As SqlDataReader = selectCommand.ExecuteReader(CommandBehavior.SingleRow)
 
            If reader.Read Then
 
                intEmployeeID = reader("ID")
                intManagerID = reader("ManagerID")
                strFirstName = reader("FirstName")
                strLastName = reader("LastName")
                strEmailAlias = reader("EmailAlias")
 
            Else
 
                MsgBox("no data")
 
            End If
 
        Catch ex As SqlException
 
            Throw ex
 
        Finally
 
            connection.Close()
 
        End Try

Open in new window

Comment
Watch Question

Author

Commented:
Here is the SqlException detail:


System.Data.SqlClient.SqlException was unhandled
  Class=15
  ErrorCode=-2146232060
  LineNumber=1
  Message="Must declare the scalar variable "@FFEmailAlias"."
  Number=137
  Procedure=""
  Server="ALT-DC02\PROJECTRACK"
  Source=".Net SqlClient Data Provider"
  State=2
  StackTrace:
       at ProjecTrack.frmTimeEntry.ValidateUser() in C:\VSProjects\WindowsApplication1\WindowsApplication1\Form1.vb:line 146
       at ProjecTrack.frmTimeEntry.TimeEntry_Load(Object sender, EventArgs e) in C:\VSProjects\WindowsApplication1\WindowsApplication1\Form1.vb:line 49
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Windows.Forms.Form.OnLoad(EventArgs e)
       at System.Windows.Forms.Form.OnCreateControl()
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.Control.CreateControl()
       at System.Windows.Forms.Control.WmShowWindow(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at System.Windows.Forms.ContainerControl.WndProc(Message& m)
       at System.Windows.Forms.Form.WmShowWindow(Message& m)
       at System.Windows.Forms.Form.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
       at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
       at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
       at System.Windows.Forms.Control.set_Visible(Boolean value)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.Run(ApplicationContext context)
       at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
       at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
       at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
       at ProjecTrack.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
       at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
       at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
       at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
       at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
       at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
       at System.Activator.CreateInstance(ActivationContext activationContext)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 

Open in new window

Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
doh!

yes, that worked.  THANK YOU THANK YOU THANK YOU!
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.