0

这是选择用户密码的代码,其中 id = 1 ;我想将此值与文本框匹配。如果该值匹配,则将打开第二个窗口窗体。但它不工作......

OleDbConnection con = new OleDbConnection(database2.conn);
con.Open();
OleDbCommand OCom = new OleDbCommand("select user_pasword from tblpasword where id = 1", con);
OleDbDataReader Dreader = OCom.ExecuteReader();

while (Dreader.Read())
{
  MessageBox.Show(Dreader + "");
}
4

2 回答 2

1

如果我没有错,我认为您可以使用

while(Dreader.Read())
{
    if(Dreader["_password"].ToString()==txtbox.text)
    {
    objectofform.show()
    }
}
于 2009-05-22T06:05:11.100 回答
0

将您的对象包装在 using 语句中......这样它们就会在完成后关闭并丢弃。返回您要查找的字符串...如果 GetPassword() == null,则未找到,否则返回字符串。

public string GetPassword()
{

using (OleDbConnection con = new OleDbConnection(database2.conn))
{

using (OleDbCommand OCom = new OleDbCommand("select user_pasword from tblpasword where id = 1", con))
{
    con.Open();

    using (IDataReader Dreader = OCom.ExecuteReader())
    {
        if (Dreader.Read())
        {
            return Dreader.GetString(0);
        } else return null;
    }
}

}

}
于 2009-05-22T06:48:56.433 回答