【问题标题】:How would I create "multiple choice" columns in Local Database?如何在本地数据库中创建“多项选择”列?
【发布时间】:2015-07-19 19:38:35
【问题描述】:
我第一次在我的 WPF 项目中使用本地数据库。我有数据库设置,并且正在连接良好的 ETC。有一些列我想在几个值或一大堆值之间进行多项选择。问题显然是在输入数据时,人为错误会时不时出现拼写错误。
如何让数据输入为用户提供多项选择?例如,我有一个名为“类别”的列,目前(稍后将展开)我只想允许以下选项:
青铜
杂项
我目前将列设置为 nvarchar(50),但不断手动键入相同的字符串...不是我想做的 TBH...所以...我可以设置它以便有它将接受的预定义值列表? :)
谢谢:D
【问题讨论】:
标签:
c#
sql
sql-server
wpf
database
【解决方案1】:
您可以对表列使用任何复杂性的 CHECK 约束。 Check MSDN here
所以你的表定义是:
CREATE TABLE T
(
Category nvarchar(50) CHECK (Category in ('Bronze','Misc'))
)
如果您希望您的可能值列表在未来发生变化并且您不想更改表定义,您可以使用值列表创建一个单独的表并使用外键。
CREATE TABLE Categories
(
Id int PRIMARY KEY,
CategoryName nvarchar(50)
)
INSERT INTO Categories VALUES (1, 'Bronze'), (2, 'Silver'), (3, 'Misc')
CREATE TABLE T
(
CategoryId int REFERENCES Categories
)