有没有办法检查某些字符串是否与某些MS SQL类型兼容? 我将在将字符串插入数据库中的表之前验证字符串。
编辑:我正在寻找一种方法来检查某些字符串是否与varchar,char,bit等兼容......
答案 0 :(得分:4)
如果我正确地解释了这一点,那么您输入的字符串要存储在SQL Server数据库中,而列将是不同的类型,例如int
,float
和{ {1}}。您想知道字符串是否会成功转换为适当的类型。
一种方法是使用parameterized query简单地将字符串作为参数传递给money
,为参数设置适当的SQL数据类型。当您使用不会转换的数据执行命令时,您将获得SqlCommand
。
更明确地说,您可以尝试使用适当的SQL数据类型解析字符串。如果转换失败,它也会抛出FormatExceptions
。
即使你解析字符串,我仍然建议使用FormatException
的参数化SQL查询,甚至更好的是像Entity Framework这样强类型的ORM层。 EF会自动将SQL类型映射到.Net类型,因此如果您尝试为实体的某个属性分配不兼容的值,则可以进行自动数据类型验证。
解析SQL数据类型的代码:
SqlCommand