登录表单出错。如果条件不正常

时间:2015-02-27 06:25:57

标签: c# mysql database visual-studio-2013

这是我的代码背后  登录按钮

 dall login = new dall();
            DataTable dt = login.select(("select ID,Password from Login"));
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (txtID.Text==dt.Rows[i][0].ToString() && txtPass.Text==dt.Rows[i][1].ToString())
                {
                    MessageBox.Show("Login Successfully", "Login ALert", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                else
              {

                 MessageBox.Show("Login Failed", "Login Alert", MessageBoxButtons.OK, MessageBoxIcon.Error);
               }

这是我的连接类代码

            conn.Open();
            SqlCommand cmd = new SqlCommand(query,conn);
            SqlDataAdapter adptr = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            adptr.Fill(dt);
            conn.Close();
            return dt;

1 个答案:

答案 0 :(得分:0)

我猜不正常工作意味着失败消息多次出现。

您的身份验证方式错误。如果IDPassword匹配,您可以从数据库中提取数据,如果记录或值来自数据库,则显示成功,否则失败。

1)更改您的查询以使用参数ID和密码。

 string query = "select ID,Password from Login Where ID = @ID AND Password =@Pssword"

2)然后将参数值添加到sqlcommand

command.Parameters.Add("@ID", SqlDbType.Int);
command.Parameters.Add("@Password", SqlDbType.String);

3)然后检查DataTable是否包含值

if (dt.Rows.Count == 0)
    //Show failure message
else
   //show success message