在C#代码中,我有一个字符串,它已连接在一起构建一个SQL插入语句,然后将其传递给存储过程并运行。
问题是我在连接字符串中有一个字段,称之为Salary,这是数据库中的数字。但是,因为它是用C#代码构建的,所以它显然是一个字符串。在插入Error converting data type varchar to numeric
时,SP中存在错误。创建的大插入字符串一次在SP中运行,因此我无法检查SP中的各个值。而且我不能使Salary =字符串为null,因为它只是插入字符串“null”而不是空值。
答案 0 :(得分:2)
您需要在代码中添加一些逻辑。
if string.IsNullOrEmpty(Salary)
{
MyParameter = DBNull.Value;
}
else
{
MyParameter = int.Parse(Salary);
}
答案 1 :(得分:1)
MyParameter = string.IsNullOrEmpty(Salary) ? (object)DBNull.Value : Salary;