2012-07-25 79 views
-2

我正在使用C#中的SQL数据库项目。我正在创建一个登录表单,当有人启动应用程序时将显示该表单。C#SQL数据库Windows窗体登录系统

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

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

这里是我的SQL命令:

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

我正在寻找一种方式,标签显示,如果SQL命令产生的结果意味着用户名和密码存储在用户表,然后返回真实或某事。如果有更高效或更有效的方法,请让我知道:)。

+0

你能告诉我们你处理查询的结果? – 2012-07-25 10:44:10

+2

您是否以明文形式存储密码? – 2012-07-25 10:45:24

+0

嗨,我设法创建一个登录系统,使用它来指导我。 http://www.youtube.com/watch?v=L7Bc3GL1N8E&feature=related我调整了它,并使用文本框,而不是填充组合框。 – KHAN 2012-07-25 12:14:26

回答

1

您应该从不通过串联字符串来创建命令文本。使用SqlParameter。这是首先要做的第一件事。

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

+0

本身并不是一个答案,而是一个非常有效的点+1。这个问题突出了如何在C#中完全理解如何使用数据库的各种问题。在OP完成一些阅读和研究之前,没有答案会给予太多帮助...... – 2012-07-25 10:54:04

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"; 
    } 
} 


+0

请编辑您的答案以使其可读 – VladL 2013-02-21 11:15:49