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


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

AltaSensAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

AltaSensAuthor 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

0
mohan_sekarCommented:
You were almost there.

After the statement, Dim selectCommand As New SqlCommand(selectStatement, connection) add

selectCommand.parameters.Add(EmailAliasParm)
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
AltaSensAuthor Commented:
doh!

yes, that worked.  THANK YOU THANK YOU THANK YOU!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.