所以,我有一个表有一定数量的类别(将来可能会有变化)。根据另一个问题(Here)的建议,我创建了一个单独的表,其中包含可能类别的列表。
在我的主表中,我有这个专栏,作为一个例子:
[Category] NVARCHAR(50) REFERENCES Categories,
我已经检查了这项工作 - 它只接受我在“类别”表中正确提供的值。
我如何在这里向用户显示可能值的下拉列表,而不是在尝试添加外键不匹配的行时给它们一个大错误消息?
答案 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!");
}
}