从我的 ASP.NET 应用程序中,我想向 MySQL 发出这个查询
SELECT * FROM responses WHERE field_id LIKE '3\_%'
换句话说,我正在寻找第二个字符是下划线文字字符的记录。
模型设计器生成的代码如下所示:
public virtual RiskAnalysis.responsesDataTable GetResponseGroupForAnalysis(int raid, string fieldid) {
this.Adapter.SelectCommand = this.CommandCollection[2];
this.Adapter.SelectCommand.Parameters[0].Value = ((int)(raid));
if ((fieldid == null)) {
throw new global::System.ArgumentNullException("fieldid");
}
else {
this.Adapter.SelectCommand.Parameters[1].Value = ((string)(fieldid));
}
RiskAnalysis.responsesDataTable dataTable = new RiskAnalysis.responsesDataTable();
this.Adapter.Fill(dataTable);
return dataTable;
}
如果我这样调用这个函数:
string filter_string = @"3\_%";
ResponsesAdapter.GetResponseGroupForAnalysis(10, filter_string);
MySQL 日志报告查询如下所示:
SELECT *
FROM responses
WHERE (ra_id = 10) AND (field_id LIKE '3\\_%')
换句话说,我知道我在这里遗漏了一些非常明显的东西,但是我如何在查询中放置 MySQL 的转义反斜杠而不用 C#(un)帮助转义它?