0

私は選択していますlinq

ユーザー名とパスワードを比較して許可する必要がある場合、ユーザーの要素にアクセスできません。

   var user = from u in db.tbl_User select new {u.UserName,u.Password};
 if(txtname == user && txtpass == pass)
            {
            Form2 frm = new Form2();
            Visible = false;
            frm.Show();

            }
            else
            {

               MessageBox.Show("Error","UserName or Password is wrong",MessageBoxButtons.OK);

            }

の要素をどのように与えることができuserますか?

4

2 に答える 2

4

変数は、単一のユーザーではなく、一連の一致するユーザーuserを返すクエリです。

あなたが望むかもしれないように聞こえます:

var user = db.tbl_User
             .FirstOrDefault(u => u.UserName == txtname.Text
                                  && u.Password == txtPass.Text);
if (user != null)
{
    ...
}

(ちなみに、プレーンテキストのパスワードを実際に持っていないことを願っています...)

于 2012-07-02T12:44:10.920 に答える
0
var user = from u in db.tbl_User select new {u.UserName,u.Password};
if(user.Count() != 1)
    return;
if(txtname == user.UserName && txtpass == pass.Password)
{
        Form2 frm = new Form2();
        Visible = false;
        frm.Show();

        }
        else
        {

           MessageBox.Show("Error","UserName or Password is wrong" ,MessageBoxButtons.OK);

}
于 2012-07-02T12:48:41.827 に答える