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

本文关键字:下拉列表 何创建 创建 | 更新日期: 2023-09-27 18:03:22

所以,我有一个表,其中有一组类别(可能会在未来发生变化)。根据另一个问题(这里)的建议,我创建了一个单独的表,其中包含可能的类别列表。

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

[Category] NVARCHAR(50) REFERENCES Categories, 

我已经检查过这个工作-它只接受我在类别表中正确给出的值。

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

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

我假设你已经连接到数据库了

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!");
    }               
}