向可为空的INT 型字段插入NULL值(诚向诸位求助)
现在遇到一个问题,就是向可为空的INT 型字段插入NULL值时,构造SQL语句出了问题。
string strSQL = "";
strSQL = string.Format("INSERT INTO A(col1,col2)VALUES({0},{1})", dr["col1"], dr["col2"]);
dbClient.sqlExecuteNonQuery(strSQL);
其中两列均为INT型,均可为NULL,dr["col1"]为NULL
此时构造的SQL 语句就有问题了。。。。。。
INSERT INTO A(col1,col2)VALUES(,1)
求解决方法。
注:当字段为NULL时,不能用默认值替代。
在线等,提前谢谢了
[解决办法]
将dr["col1"]的值改为0试试
[解决办法]
你赋值的时候加个判断就是了。。。
[解决办法]
string strSQL = string.Format("INSERT INTO A(col1,col2)VALUES({0},{1})", dr["col1"]== DBNull.Value ? "NULL" : dr["col1"].ToString(), dr["col2"]== DBNull.Value ? "NULL" : dr["col2"].ToString());