вы можете использовать mssql_get_last_message () для mssql errors
Просто удалите символы `` ', чтобы заставить его работать.
Ваш код уязвим для инъекции, попробуйте добавить значения с помощью метода SqlCommand.Parameters.Add()
.
Используйте этот код:
SqlCommand cmd = new SqlCommand("select userid, password from user where user id = @id and password = @password", con);
cmd.Parameters.Add("@id", SqlDbType.VarChar).Value = txtUsername.Text;
cmd.Parameters.Add("@password", SqlDbType.VarChar).Value = txtPassword.Text;
И, как упоминалось @marc_s, user id
не является допустимым именем столбца, оно должно быть похоже на userid
или если в нем есть пробел, должно быть как: [user id]
Есть много проблем с вашим кодом:
`
не является синтаксисом SQL Server. .
using (SqlCommand cmd = new SqlCommand("select 1 from tbl where id=@id", conn))
{
var idParameter = new SqlParameter()
idParameter.ParameterName = "@id";
idParameter.Value = 1234;
cmd.Parameters.Add(idParameter);
....
}
using(SqlConnection conn = new SqlConnection())
.