Насколько я понимаю, этот код может решить вашу проблему
private LoginUser validate_login(string user, string pass)
{
db_connection();
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = "Select * from table2 where username=@user and password=@pass and UserID=@UserID";
cmd.Parameters.AddWithValue("@user", user);
cmd.Parameters.AddWithValue("@pass", pass);
cmd.Connection = connect;
LoginUser usr = null;
MySqlDataReader login = cmd.ExecuteReader();
if (login.Read())
{
usr = new LoginUser();
usr.UserID = login["UserID"].ToString();
usr.valid = true;
}
return usr;
}
private void button1_Click(object sender, EventArgs e)
{
{
string user = usertype.Text;
string pass = password.Text;
if (user == "" || pass == "")
{
MessageBox.Show("Empty Fields Detected ! Please fill up all the fields");
return;
}
var r = validate_login(user, pass); //problem line
if (r != null)
{
if (r.valid)
{
MySqlCommand cmd = new MySqlCommand();
MySqlDataReader reader = cmd.ExecuteReader();
Console.WriteLine(String.Format("{0}", r.UserID));
UserDetails.m_gnUserId = Convert.ToInt32(reader["UserID"]);
}
}
}
}
Существует вполне обширная статья о сообщениях об ошибках в Windows Desktop Design guide.
Apple имеет что-то для высказывания о записи хороших аварийных сообщений в их инструкциях по интерфейсу пользователя.
Не много информации здесь, но некоторые ссылки, которые необходимо знать:
http://blogs.msdn.com/brada/archive/2004/01/28/64255.aspx
http://msdn.microsoft.com/en-us/library/ms229056.aspx
В целом это хорошо к вещам слова так, чтобы это было ясно
Мое мнение: Я думаю, что наиболее распространенная 'плохая' вещь по ошибке состоит в том, чтобы забыть второй маркер. Вторая наиболее распространенная ошибка состоит в том, чтобы обеспечить недостаточную информацию для первого маркера (например, 'файл, не найденный' - который файл?!?)
Сообщения, которые Вы добавили как пример, более предназначены больше для разработчиков, чем конечные пользователи.
Одна вещь, которую я нахожу раздражающими о любом виде ошибок, которые брошены в меня как пользователь, состоит в том, когда у меня нет подсказки, почему это произошло. Вот почему такие сообщения об ошибках должны содержать некоторую информацию о проблеме для непрограммистов для понимания. Как при открытии файла перестал работать, можно было проверить, существует ли файл, если полномочия в порядке, или данный путь находится в сети.
Существует также большое сообщение в блоге Jeff Atwood о забавных сообщениях об ошибках.