ADO.. NET SqlCommand:不能插入NULL值到列中
本文关键字:NULL 插入 NET SqlCommand 不能 ADO | 更新日期: 2023-09-27 17:50:11
sCnd = "INSERT INTO .dbo.Table(Col1, Col2, Col3) Values (1,2,3);
using (DbCommand tempCommand2 = CommandFactory.CreateCommand(db))
{
tempCommand2.CommandText = sCmd;
tempCommand2.ExecuteNonQuery();
}
表也有一个Col4,不允许为空。
错误:不能插入值NULL到列Col4
当我在管理工作室执行sCmd时,一切都很好。
为什么会出现异常?
表也有一个Col4,不允许为空。
这就是你的答案。如果Management Studio正常工作,它可能会插入一个默认值?
您得到异常,因为您没有为Col4
列插入值,这不允许nulls
,我只能假设,没有默认值。
但是看起来你问错了问题;你不是想问,为什么查询在SSMS中运行?
我怀疑这个问题的答案可能隐藏在实际语法中的某个地方,而您选择不包括在语法中。
如果您没有为列指定值,则采用NULL
,除非有constraint
另有说明。
由于Col4
不允许NULL
,看起来它没有default
值constraint
,这就是为什么你得到错误。
你没有显示你在SSMS中执行的SQL,但我猜,不同的数据库(生产/开发),不同的表?