这是我的代码隐藏登录按钮
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;
我猜不能正常工作意味着故障消息多次出现。
你的身份验证方式不对。如果ID
和Password
匹配,则可以从数据库中提取数据;如果记录或值来自数据库,则显示成功,否则显示失败。
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