如何创建可能的外键下拉列表?

时间:2015-07-19 13:35:54

标签: c# sql sql-server wpf database

所以,我有一个表有一定数量的类别(将来可能会有变化)。根据另一个问题(Here)的建议,我创建了一个单独的表,其中包含可能类别的列表。

在我的主表中,我有这个专栏,作为一个例子:

[Category] NVARCHAR(50) REFERENCES Categories, 

我已经检查了这项工作 - 它只接受我在“类别”表中正确提供的值。

我如何在这里向用户显示可能值的下拉列表,而不是在尝试添加外键不匹配的行时给它们一个大错误消息?

1 个答案:

答案 0 :(得分:1)

我假设您已经知道已连接到db

using (SqlConnection conn = new SqlConnection(@"Data Source=SHARKAWY;Initial Catalog=Booking;Persist Security Info=True;User ID=sa;Password=123456"))
{
    try
    {
        string query = "select CategoryName, CategoryID from Categories";
        SqlDataAdapter da = new SqlDataAdapter(query, conn);
        conn.Open();
        DataSet ds = new DataSet();
        da.Fill(ds, "Categories");
        cmbCategories.DisplayMember =  "CategoryName";
        cmbCategories.ValueMember = "CategoryID ";
        cmbCategories.DataSource = ds.Tables["Categories"];
    }
    catch (Exception ex)
    {
        // write exception info to log or anything else
        MessageBox.Show("Error occured!");
    }               
}