-1

我正在使用 C# 开发一个 SQL 数据库项目。我希望创建一个登录表单,当有人启动应用程序时会显示该表单。

与数据库建立连接,但是他们必须在第一个表单中输入正确的用户名和密码,然后才能继续查看其余部分。

我创建了 2 个文本框,一个按钮 txtusername 和 txtpassword 以及一个按钮登录。

这是我的 SQL 命令:

SqlCommand command = new SqlCommand("SELECT * FROM tblUsers WHERE Username ='" + txtUsername + "' AND Password = '" + txtPassword + "'", Program.cs);

我正在寻找一种在标签中显示的方法,如果 sql 命令产生的结果意味着用户名和密码存储在用户表中,那么它会返回 true 或其他内容。如果有更有效或更有效的方法,请告诉我:)。

4

3 回答 3

1

永远不应该通过连接字符串来创建命令文本。使用SqlParameter. 那就是把第一件事放在第一位。

在我看来,您没有(或很少)了解数据访问在 .net 中的工作原理。因此,我建议您阅读一些有关该主题的书籍,例如 Microsoft 的“使用 .NET Framework 4 访问数据”。

于 2012-07-25T10:46:50.320 回答
0

此代码是您项目中的一个漏洞,请 参阅此了解详细信息

于 2012-07-26T11:05:53.653 回答
0

登录页面 b 的强文本*代码

tn_click() //button click event 
{ 
    Sqlconnection con=new
    sqlconnection(Strcon); 

    String sqlquery="select usrname,password from loginpage where username='textname.text' and password='textpassword.text'"; 

    Sqlcommand sqlcom=new Sqlcommand(Sqlquery,con); 
    con.open(); 

    Sqldatareader dr;
    dr=sqlcomm.executereader(commandbehavior close connection);

    if(dr.read()) 
    {  
        session["un"]=dr["username"].Tostring();
        session["pwd"]=dr["userpassword"].Tostring();

        if(dr["userpassword"].Tostring()!=null); 
            respone.redirect("userdetail.aspx"); 
    } 
    else 
    { 
        respone.redirect("login.aspx"); 
    } 
    else 
    {
        lblmsg.text="invalid user"; 
    }
}


于 2013-02-21T10:52:18.963 回答