现在遇到一个问题,就是向可为空的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时,不能用默认值替代。在线等,提前谢谢了
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时,不能用默认值替代。在线等,提前谢谢了
+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());