Мне нужно сделать простой логин, который не будет сбой при вставке в браузер a ("), поэтому мне нужно было параметризовать строку запроса, но по какой-то причине im gettin ошибка, говорящая :Должен объявить скалярную переменную «@UserName»
Необходимо объявить скалярную переменную "@Username"
здесь код
private void DoSqlQuery()
{
try
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RolaConnectionString"].ConnectionString);
conn.Open();
string checkUser = "select * from UserData where UserName = @UserName";
SqlCommand com = new SqlCommand(checkUser, conn);
com.Parameters.AddWithValue("@Username", txtUserName.Text.Trim());
int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
conn.Close();
if (temp == 1)
{
conn.Open();
string checkPassword = "select Password from UserData where UserName = @UserName";
SqlCommand passConn = new SqlCommand(checkPassword, conn);
com.Parameters.AddWithValue("@Username", txtUserName.Text.Trim());
string password = passConn.ExecuteScalar().ToString();
conn.Close();
if (password == txtPassword.Text)
{
Session["New"] = txtUserName.Text;
Response.Write("Password is correct");
Response.Redirect("~/LoggedIn.aspx");
}
else
{
Response.Write("Password is not correct");
}
}
else
{
Response.Write("Username is not correct");
}
}
catch(Exception e)
{
Response.Write(e.ToString());
}
}
Проверьте орфографию очень внимательно - вы сделали опечатку. –
В частности, обратите внимание на случай каждого символа. – Servy
'' @ Имя пользователя'' не равно '' @ UserName'' –