我有一个包含几个 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/