我有一个带有少量NULL列的表..并且我创建了一个存储过程。

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


  System.FormatException:输入字符串的格式不正确。


在线上:

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# - 空值未插入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11913088/

10-10 19:12