how to remove error Incorrect syntax near 'nvarchar'. Must declare the scalar variable "@"
<p>I am getting this error Incorrect syntax near 'nvarchar'. Must declare the scalar variable "@". I am using the code as mentioned below . Here SACALOGIN.MDF is Database name admin_login is table name. User-Name and Password are table columns and admin1.aspx is another web page ...please help as it is giving me a great headache .....</p>

<pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Web.Configuration.Common;
using System.Web.Configuration.Internal;
using System.Data.SqlClient;
using System.Data;
using System.Web.Configuration;
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
   protected void btnSubmit_Click(object sender, EventArgs e)
{

    SqlConnection cn=new SqlConnection();
    cn.ConnectionString = 
      WebConfigurationManager.ConnectionStrings["SACALOGIN.MDF"].ConnectionString;
    cn.Open();
    string sql="Select * from admin_login where ID=@[ID]";
    SqlCommand cmd=new SqlCommand(sql,cn);
    cmd.Parameters.AddWithValue("@[User-Name]",txtUserName.Text);
    cmd.Parameters.AddWithValue("@Password",txtPWD.Text);
    SqlDataReader dr=cmd.ExecuteReader();
    bool found=false;
    if(dr.Read())
    {
        found=true;
        cn.Close();
        if(found)
        {
            Response.Redirect("admin1.aspx");
           }
        else 
            lblMessage.Text="Sorry! Invalid User Id.";
    }

}
}
</code></pre>
