2013-04-23 84 views
0

我正在爲使用c#的大學申請人編寫一個應用程序。在第一種形式中,我有幾個文本框,單選按鈕和組合框。所有這些都與我創建的數據庫(學生)有關。數據庫中有一個table tbl_nationality和一個表tblstudent。在表tbl_nationality中,我們有欄目Nationality_idCountrynationality_idtblstudent表中的外鍵。用數據綁定組合框並保存爲外鍵c#

我寫了一些代碼行來填充組合框中國家/地區的數據(cmbnationality)。問題是,現在我需要保存表單中的數據,並且組合框國籍是表tblstudent中的外鍵。當我從tbl_nationality顯示國家時,如何將外鍵nationality_id保存在tblstudent中。

void FillNationality() 
{ 
    SqlConnection connection = new SqlConnection(); 
    connection.ConnectionString = "Integrated Security=true; Initial Catalog = student; Data Source = Yudish-PC"; 
    string Query = "select * from tbl_nationality ;"; 
    SqlCommand cmdDatabase = new SqlCommand(Query, connection); 
    SqlDataReader myReader; 
    try 
    { 
     connection.Open(); 
     myReader = cmdDatabase.ExecuteReader(); 
     while (myReader.Read()) 
     { 
      string nationality = myReader.GetString (1); 
      cmbnationality.Items.Add(nationality); 
     } 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message);    
    } 
    finally 
    { 
     connection.Close(); 
    } 
} 

回答

0

當您填充組合框時,使用Id作爲值和國家作爲顯示文本。當你更新數據庫時,獲取組合框的SelectedValue屬性,這將是Id。如果Id不是您想暴露的內容,您可以將數據保存在Session對象中,並使用Country作爲該表上的查找(只是將其循環)。應該非常直截了當。

設置表中的會話:

Session["myTable"] = ds.tables["myTable"];

從組合框中獲取值:

myCombo.SelectedValue

你也應該考慮結合一個數據源(你的表從檢索到的數據集從數據庫)到你的組合框。