指定的演员表无效

时间:2014-02-22 15:25:58

标签: c#

有人可以帮我解决这个问题...我只是无法找到错误的位置...因为即使我输入正确的用户名和密码,弹出一条消息说明指定的演员无效

if (user_txt.Text != "" & pass_txt.Text != "")
{
    string queryText = "SELECT Count(*) FROM stiguidancesample.users " + "WHERE username = @Username AND password = @Password";
    MySqlConnection cn = new MySqlConnection(MyConnectionString);
    MySqlCommand cmd = new MySqlCommand(queryText, cn);
    {
        cn.Open();
        cmd.Parameters.AddWithValue("@Username", user_txt.Text);  // cmd is SqlCommand 
        cmd.Parameters.AddWithValue("@Password", pass_txt.Text);
        int result = (int)cmd.ExecuteScalar();
        if (result > 0)
            MessageBox.Show("Loggen In!");
        else
            MessageBox.Show("User Not Found!");
    }
}

1 个答案:

答案 0 :(得分:5)

问题:嘿,您需要记住使用以下语句执行隐式转换:

int result = (int) cmd.ExecuteScalar();

隐式转换仅在值为有效整数时有效。如果它包含类似10.0的值或某些空格则不起作用。

解决方案:如果您想获得需要使用的所有内容的值 使用Convert.ToInt32()方法显式投射。

试试这个:

   int result = Convert.ToInt32(cmd.ExecuteScalar());