c# - 未插入 NULL 值

标签 c# asp.net sql-server-2008

我有一个包含几个 NULL 列的表。我创建了一个存储过程。

当我在网络表单的控件中输入值时,我需要在所有字段中输入值 否则,我会收到一条错误消息:

System.FormatException: Input string was not in a correct format.

在线:

cmd.Parameters.Add(new SqlParameter("@Mob2", Convert.ToInt32(TextBox5.Text)));

我什至尝试过

cmd.Parameters.Add(new SqlParameter("@Mob2", int.parse(TextBox5.Text)));

但我无法在 TextBox 控件中将其保留为 NULL。

在表中,数据类型是 numeric(10,0).. 在我提到的存储过程中 nvarchar(10) 并且在插入时我已经转换像这样,

Convert(numeric(10,0),@Mob2)

但它似乎没有得到转换..

最佳答案

Convert.ToInt32(TextBox5.Text) 对于空字符串总是失败。所以检查一下:

object val = string.IsNullOrEmpty(theString) ? (object)DBNull.Value
                                             : int.Parse(theString);

关于c# - 未插入 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11913088/

相关文章:

c# - 使用 javascript 中的参数调用 ASP.net 函数

SQL:根据财务报告的最后付款日期创建账龄桶

asp.net - ASP中AES256加密解密

c# - 在 asp.net 中向饼图添加值和百分比

html - 使用 ASP.NET MVC 在数据库中存储和读取 HTML?

c# - SSIS 数据流与自定义传输脚本与批量插入

c# - 许多条目带有 OnItemsChanged(),如何删除旧条目

c# - 无法在 WPF 圆形按钮 (XAML) 中获取边框

c# - 如何解决 SqlNullValueException?

c# - 基于 Moq 的单元测试中的 TargetParameterCountException