我在数据库中有Int数据类型的列,但textbox不允许null。它给出了错误"输入字符串的格式不正确"。
objinsert.VehGrpID = Convert.ToInt32(txtVehGroupID.Text);
答案 0 :(得分:2)
改用TryParse。
int GrpID = 0;
int.TryParse(txtVehGroupID.Text, out GrpID)
if(GrpID > 0)
objinsert.VehGrpID = GrpID;
答案 1 :(得分:0)
你可以特别说出空值。当然,我假设空值应映射到null
。
objinsert.VehGrpID = string.IsNullOrWhiteSpace(txtVehGroupID.Text) ? null : (int?)Convert.ToInt32(txtVehGroupID.Text);
您还需要调整代码以相应地设置文本框的文本。
您的问题也有点不清楚,因为您说文本框不允许空值,但您没有向我们展示调整文本框文本的任何代码。
答案 2 :(得分:0)
您还可以使用DBNull.Value
字段。如果数据库字段缺少数据,则可以使用DBNull.Value
属性。
点击此链接http://msdn.microsoft.com/en-us/library/system.dbnull.value%28v=vs.110%29.aspx
答案 3 :(得分:0)
试试这个
int VehGrpID = Convert.ToInt32(txtVehGroupID.Text);
OR
int VehGrpIDtxtVehGroupID.Text = int.Parse(txtVehGroupID.Text);
文本框的Text属性是String类型,因此您必须在代码中执行转换。