我正在编写这个应用程序,它允许用户定义自定义测验,然后允许另一个用户回答问题。测验的每个问题都有相应的数据类型。
所有问题的回答都垂直存储在[回答]表中。
我目前使用2个字段来存储响应。
//Response schema
ResponseID int
QuizPersonID int
QuestionID int
ChoiceID int //maps to Choice table, used for drop down lists
ChoiceValue varbinary(MAX) //used to store a user entered value
我正在使用.NET 3.5 c_SQL Server 2008。
我想在同一个字段中存储不同的数据类型,然后在我的SQL报告过程中,我将转换为正确的数据类型。我认为这是理想的,因为我只需要检查一个字段。我还认为这可能比它的价值更麻烦。
我认为我的其他选择是:将数据存储为数据库中的字符串(yuck),或者为我可能使用的每个数据类型都有一个列。
所以,我想知道的是,如何用C格式化数据类型,以便在SQL中正确转换它们?在SQL中转换的性能会受到什么影响?我应该为每个数据类型创建一个完整的古怪的列吗?