2011-04-15 98 views
0
sCnd = "INSERT INTO .dbo.Table(Col1, Col2, Col3) Values (1,2,3); 

using (DbCommand tempCommand2 = CommandFactory.CreateCommand(db)) 
{ 
    tempCommand2.CommandText = sCmd; 
    tempCommand2.ExecuteNonQuery(); 
} 

表還有一個不允許爲空的Col4。ADO.NET SqlCommand:無法將NULL值插入列

錯誤:無法插入NULL值插入列COL4

當我在Management Studio中的一切執行SCMD工作正常。

爲什麼我會得到異常?

回答

1

如果您未指定列的值NULL,則除非有另外說明的constraint

由於Col4不允許NULL,看起來它沒有defaultconstraint這就是爲什麼你會收到錯誤。

你還沒有顯示你在SSMS中執行的SQL,但我猜測,不同的數據庫(生產/開發),不同的表?

+0

你還沒有顯示你在SSMS中執行的SQL,但我猜,不同的數據庫(生產/開發),不同的表?是...:s – Rookian 2011-04-15 08:45:57

2

Table has also a Col4 that does not allow null.

有你的答案。如果管理工作室無論如何工作,它可能插入一個默認值?

2

由於沒有插入Col4列的值,因此不允許nulls和我只能假設沒有默認值,您會得到例外。

但是好像你問了一個錯誤的問題;你是不是故意問,爲什麼查詢在SSMS中運行?

我懷疑的問題,的問題會被埋在實際語法的某處,而您選擇的語法並不包括在內。

相關問題