这是一个共用类
1 public static SqlDataReader executereader(string sqlstr, params SqlParameter[] para)
2 {
3 SqlDataReader dr;
4 using (SqlConnection con=new SqlConnection(constr))
5 {
6 using (SqlCommand cmd=new SqlCommand(sqlstr,con))
7 {
8 foreach (SqlParameter p in para)
9 {
10 cmd.Parameters.Add(p);
11 }
12 con.Open();
13 dr = cmd.ExecuteReader();
14
15 }
16
17 }
18 return dr;
19 }
现在这里是调用上面那个类,查找pwd 假如password表中有数据则让这个winform窗体不显示出来 该怎么写这里啊
1 private void setpwd_Load(object sender, EventArgs e)
2 {
3 string sqlstr = "select pwd from password";
4 // db.executereader(sqlstr,new SqlParameter[]{ new SqlParameter("@pwd",pwdtextBox.Text.Trim())});
5 if (db.executereader(sqlstr, new SqlParameter[] { new SqlParameter("@pwd", pwdtextBox.Text.Trim()) }).Read)
6 {
7
8 }
9
10
11
12
13 }
select pwd from password把这个sql语句写成select count(pwd) from password更容易实现你的要求。
嗯 那还有就是
private void setpwd_Load(object sender, EventArgs e)
{
string sqlstr = "select pwd from password";
// db.executereader(sqlstr,new SqlParameter[]{ new SqlParameter("@pwd",pwdtextBox.Text.Trim())});
if (db.executereader(sqlstr, new SqlParameter[] { new SqlParameter("@pwd", pwdtextBox.Text.Trim()) }).Read)
{
}
}
那怎么让这个窗体不显示出来阿 这里怎么写啊
@小格调: 得到从数据返回的结果,判断结果是否大于零,如果大于零就不显示窗体, 否则就显示窗体。
@小格调:
MyConnection.Open(); OleDbCommand MyCmd=new OleDbCommand(MySQL,MyConnection); OleDbDataReader MyReader=MyCmd.ExecuteReader(); while(MyReader.Read()){ if(MyReader.GetInt32(0)>0){登陆验证成功,加入你的语句,如:new MainForm.Show();} } //关闭数据源 MyReader.Close(); MyCmd.Dispose(); MyConnection.Close();
@PursueZhang: 嗯 谢谢了