在C#中处理NULL(\ 0)

时间:2011-05-19 12:56:06

标签: c# .net asp.net null oledb

我正在使用oledb从.xls文件中检索数据,并使用下面的行将其分配给字符串变量Values

values += "'" + System.Security.SecurityElement.Escape(row[i].ToString()) + "',";

对于最佳情况,它很好,但如果任何单元格包含值\0,则此后values变量将不会更新其他值。我该怎样摆脱它?

2 个答案:

答案 0 :(得分:3)

你可以很容易地从字符串中删除空字符:

text = text.Replace("\0", "");

...但有没有办法可以使用预准备语句而不是将值直接放入SQL?或者OLEDB不支持吗?

答案 1 :(得分:2)

您可以使用条件运算符(condition ?? true:false)来检查即将到来的值是否为\0 我只是修改这个

values += "'" + System.Security.SecurityElement.Escape(row[i].ToString()!="\0"?row[i].ToString():"") + "',";

或者你可以使用这个。

values += "'" + System.Security.SecurityElement.Escape(row[i].ToString()??"") + "',";