StringBuilder Append字符串导致字符串丢失
求教各位大大,小弟在使用StringBuilder做字符串拼接时碰到了一个非常怪的问题。
我声明了一个初始的查询字符串如下:
StringBuilder sqlStr1 = new StringBuilder (省略);
该字符串在oracle中能正常运行并得到结果,下用[原始]代替。在后面我根据输入的结果做了字符串拼接:
if (!string.IsNullOrEmpty(projectNumber))
{
sqlStr1.Append(" and 开工阶段表.工程编号='"+projectNumber+"'");
}
if (!string.IsNullOrEmpty(kaigongFrom))
{
sqlStr1.Append(" and 开工阶段表.开工日期>to_date('" + kaigongFrom + "','yyyy-mm-dd')");
}
if (!string.IsNullOrEmpty(kaigongTo))
{
sqlStr1.Append(" and 开工阶段表.开工日期<to_date('" + kaigongTo + "','yyyy-mm-dd')");
}
if (!string.IsNullOrEmpty(tongzhiFrom))
{
sqlStr1.Append(" and 开工阶段表.通知日期>to_date('" + tongzhiFrom + "','yyyy-mm-dd')");
}
在运行到红色部分的时候我发现查询字符串出现了部分丢失,并没有得到我想要的结果。
而是 [原始] and 开工阶段表.开工日期>to_date('2010-04-29','yyyy-mm-dd') and 开工阶段表.开工日期to_date('2010-04-29','yyyy-mm-dd')
似乎是出现了部分字符串丢失,通过多次调试发现只要Append的字符串中有'>'符号都会出现这个奇怪的问题,但是在第一次添加开工日期的时候不会丢失,实在是不知所云。请高手指点指点。