0

我正在使用 c# 为大学申请者编写申请。在第一个表单上,我有几个文本框、单选按钮和一个组合框。所有这些都与我创建的数据库(学生)有关。数据库中有一个table tbl_nationality和一个表tblstudent。在表中tbl_nationality,我们有列Nationality_idCountrynationality_id是表中的外键tblstudent

我编写了几行代码来填充组合框 (cmbnationality) 中国家/地区列的数据。问题是,现在我需要保存表单中的数据,并且组合框的国籍是表 tblstudent 中的外键。nationality_id当我显示国家/地区时,如何将外键保存在 tblstudent 中tbl_nationality

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();
    }
}
4

1 回答 1

0

填充组合框时,使用 Id 作为值,使用国家/地区作为显示文本。更新数据库时,获取组合框的 SelectedValue 属性,该属性将是 Id。如果 Id 不是您想要公开的东西,您可以将数据保存在 Session 对象中并使用 Country 作为对该表的查找(只需循环它)。应该很直截了当。

在会话中设置表:

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

从组合框中获取值:

myCombo.SelectedValue

您还应该考虑将数据源(从数据库检索的数据集中的表)绑定到组合框。

于 2013-04-23T20:31:20.467 回答