使用.Net 4.0,C#。
我在我的应用程序中构建自定义sql,它被传送到db端的存储过程,并从那里进一步处理。我需要能够在select子句的别名周围放置双引号(因为一旦你使用它们,你总是必须使用它们)。我已经创建了这个逻辑,除了我的select子句的stringbuilder没有正确地转义我的双引号。
我的(已清理)代码:
StringBuilder sb = new StringBuilder();
foreach (var detail in report.CustomReport.PTS_CP_CUSTOM_REPORT_DET)
{
var columnDataType = GetColumnDataType(detail);
sb.Append(", " + detail.PTS_CP_CUSTOM_REPORT_VIEW_DET.COLUMN_NAME + " \"" + detail.DISPLAY_NAME + "\"");
this.ColumnData.Add(colData);
}
return string.Format(SelectTemplate, sb);
输出选择语句:
SELECT PO_NUMBER \"PO_NUMBER\", .../* several columns */, CUST_NUM \"CUST_NUM\""
我需要那些反斜杠消失。我已经尝试了几种方法来解决它:
我也在没有string.Format()调用的情况下运行return,但问题仍然存在。