Member 13503770 Ответов: 3

Дополнительная информация: неверный синтаксис рядом с ', '.


SqlConnection conn = new SqlConnection(@"server=DELL-PC\SQLEXPRESS;Database=WinApp;Integrated Security = true");
            SqlCommand cmd = new SqlCommand("select count(*) from LoginInfo where Username = @uname, password = @pwd",conn);
            cmd.Parameters.Add(new SqlParameter("@uname", lblunametxt.Text));
            cmd.Parameters.Add(new SqlParameter("@pwd", lblpwdtxt.Text));
            conn.Open();
            int noOfRowsAffected = (int)cmd.ExecuteScalar();
            conn.Close();
            
            if(noOfRowsAffected > 0)
            {
                MDIParent md = new MDIParent();
                md.Show();
                this.Hide();
            }

            else
            {
                Console.Write(" invalid credentials");
            }


Что я уже пробовал:

SqlConnection conn = new SqlConnection(@"server=DELL-PC\SQLEXPRESS;Database=WinApp;Integrated Security = true");
            SqlCommand cmd = new SqlCommand("select count(*) from LoginInfo where Username = @uname, password = @pwd",conn);
            cmd.Parameters.Add(new SqlParameter("@uname", lblunametxt.Text));
            cmd.Parameters.Add(new SqlParameter("@pwd", lblpwdtxt.Text));
            conn.Open();
            int noOfRowsAffected = (int)cmd.ExecuteScalar();
            conn.Close();
            
            if(noOfRowsAffected > 0)
            {
                MDIParent md = new MDIParent();
                md.Show();
                this.Hide();
            }

            else
            {
                Console.Write(" invalid credentials");
            }

3 Ответов

Рейтинг:
20

Mehdi Gholam

Ваш SQL должен быть :

select count(*) from LoginInfo where Username = @uname and password = @pwd
Воспользуйся AND вместо ,


Рейтинг:
1

Member 12088223

Приведенные выше ответы являются правильными...


Richard Deeming

Да, это так. Но твой "ответ" ничего к ним не добавляет.

Если вы хотите выразить свою поддержку или признательность за ответ, вы можете использовать звездный рейтинг в правом верхнем углу ответа, чтобы оценить его, и вы можете нажать кнопку "есть вопрос или комментарий?" кнопка под ответом, чтобы добавить комментарий.

Но если вы не добавляете больше информации к обсуждению, НЕ разместите свой комментарий как "решение"!

Рейтинг:
0

OriginalGriff

Мехди прав, что ваш SQL ошибочен: запятая недопустима как часть предложения WHERE.

Но ... не делай этого так! Никогда не храните пароли в открытом виде - это серьезная угроза безопасности. Здесь есть некоторая информация о том, как это сделать: Хранение паролей: как это сделать.[^]