2015-12-02 58 views
0

我有一個列名爲Name,UserID,Password,UserType的表。 另外我有一個登錄表單,用戶鍵入用戶ID /密碼組合,選擇userstype(學生或講師)並單擊按鈕確定。如果存在這樣的ID /密碼組合,程序根據選擇的用戶類型打開新的表格 - 學生或教師表格。我想要做的是,當第二個表單打開表單上的標籤以指示:登錄:「名稱」。我知道,如果我把代碼在Form1在數據庫中搜索用戶標識並以第二種形式顯示用戶名c#

if(rbtnStud.checked) 
{ 
    Students form = new Students (txtUID.Text); 
    formShowDialog; 
    this.Hide(); 
} 

,並在第二形式

public Students(string txtBox) 
{ 
    InitializeComponent(); 
    lblName.Text = txtBox; 
} 

這將在標籤顯示用戶名。但我希望顯示錶中的名稱,而不是用戶標識。可能嗎?

謝謝。

OK,這裏是附加信息:我使用的WinForms 代碼拔出從數據庫中的信息在 「LoginDB」 類:

  SqlConnection conn = SchoolDB.Connected(); 
      SqlCommand cmd = new SqlCommand("Select UserType from Login where [email protected] and [email protected]", conn); 
      cmd.Parameters.AddWithValue("@id", UserID); 
      cmd.Parameters.AddWithValue("@pwd", Password); 
      conn.Open(); 
      SqlDataReader dr = cmd.ExecuteReader(); 
      DataTable dt = new DataTable(); 
      dt.Load(dr); 
      conn.Close(); 
      return dt; 

和主要形式有:

private void btnLogin_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      DataTable result = LoginDB.Login(txtUID.Text, txtpwd.Text); 
      if (result.Rows.Count == 1) 
      { 
       if (rbtnStud.Checked) 
       { 
        Students form = new Students(txtUID.Text); 
        form.ShowDialog(); 
        this.Hide(); 
       } 
      else if{} 
+0

必須從數據庫中查找用戶確認他們的憑據,所以爲什麼不搶的名字在這一點? – NDJ

+0

只要你願意編碼,任何事情都是可能的。不幸的是,你沒有給我們足夠的代碼給你更多的指導。你如何從你的桌子上提取數據?你如何連接到數據庫?你使用WinForms或ASP.net或MVC? –

+0

因爲UserId是您的主鍵,所以您可以對錶進行查詢並查詢該UserId的名稱。在Form 2的Load()方法中執行該操作。 –

回答

0

變化SqlCommand返回Name而不是UserType:

SqlCommand cmd = new SqlCommand("Select Name from Login where [email protected] and [email protected]", conn); 

更新主窗體上的單擊事件:

private void btnLogin_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      DataTable result = LoginDB.Login(txtUID.Text, txtpwd.Text); 
      if (result.Rows.Count == 1) 
      { 
       if (rbtnStud.Checked) 
       { 
        // pass the name to the students form 
        Students form = new Students(dt.Rows[0]["Name"] as string); 
        form.ShowDialog(); 
        this.Hide(); 
       } 
      else if{} 
.... 
相關問題