эта программа при вводе имени пользователя и пароля перейдите в базу данных и сравните таблицу, но когда я ввожу имя пользователя admin, пароль admin (существует в таблице) ошибка compalier show « Неправильный синтаксис рядом 'админ' "в строке Int темп = Convert.ToInt32 (. com.ExecuteScalar() ToString());«Неправильный синтаксис рядом с« администратором »
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\1\Documents\DB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
conn.Open();
string checkuser = "select count(*) from [Users] where Username '" + TextBoxUserName.Text + "'";
SqlCommand com = new SqlCommand(checkuser,conn);
int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
conn.Close();
if (temp == 1)
{
conn.Open();
string checkpassword = "select Password from Users where Password'" + TextBoxPassword.Text + "'";
SqlCommand passComm = new SqlCommand(checkpassword, conn);
string password = passComm.ExecuteScalar().ToString();
if (password == TextBoxPassword.Text)
{
//Session["NEW"] = TextBoxUserName.Text;
Response.Redirect("Welcome.aspx");
}
else
{
Response.Redirect("Error.aspx");
}
}
Пожалуйста, прочитайте о инъекции SQL, вы уязвимы для него. Вот один из многих ресурсов, которые помогут вам начать работу: http://www.troyhunt.com/2013/07/everything-you-wanted-to-know-about-sql.html Сохранение паролей с открытым текстом в базе данных также как правило, хмурится. – Vache