向可为空的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试试
------解决方案--------------------你赋值的时候加个判断就是了。。。
------解决方案--------------------
+1
直接拼接,可写成
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());