2012-07-25 81 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