我是MS Access 2007新手,我正在使用Visual Studio 2010 C#创建一个应用程序。我想知道我应该在我创建的每个参数中使用什么数据类型。
例如:
command.Parameters.Add(new OleDbParameter("?company_name", OleDbType.VarChar));
这是字符的数据类型(如果我错了,请纠正我)。
我的问题是,使用 数字 的数字的数据类型(例如:邮政编码和电话号码(221-0019))是正确的数据类型?
P.S。:我已经在MS Access中拥有我的表
答案 0 :(得分:1)
使用适合您数据的任何数据类型。
E.g。如果您需要使用列存储0到100之间的整数,请使用DataType
Number
且FieldSize
为Byte
的字段。对于0到10,000之间的整数,请使用Integer
。对于介于-1,000,000,000和1,000,000,000之间的小数,请使用Single
。请参阅DataType
和FieldSize
的MSAcess帮助,了解适合您的数据的内容。
然后,在从C#操作数据库时,使用等效的OleDbType
。请参阅OldDbType
的帮助,以确定哪一个与MSAccess列中的数据类型等效。
E.g。 (根据以上示例)OleDbType.UnsignedTinyInt
,OleDbType.SmallInt
,OleDbType.Single
答案 1 :(得分:1)
将数据值存储为数字或字符时,需要考虑一些事项。您应该了解以下问题。
数据库是关于存储数据的。您应该考虑存储值的意图。通常,您只希望将事物存储为数字,如果它们是您希望进行数值运算的实际数值。例如,金钱,年龄,就业年数。
对于通常所有数字的标识符,例如社会安全号码,街道号码,电话号码,这些根本不是数字。它们只是偶然使用数字的“字符”值。您希望将它们存储为字符的原因是,当从数据库中引入它们时,如果您希望主要执行基于字符的操作,则必须处理从数字到字符值的连续转换。
权衡利弊。祝你好运!