C# 在SQL Server的NHibernate查询中处理开放方括号
我在C中使用NHibernate查询得到以下查询代码C# 在SQL Server的NHibernate查询中处理开放方括号,c#,sql-server,nhibernate,C#,Sql Server,Nhibernate,我在C中使用NHibernate查询得到以下查询代码 IQuery query = session.CreateQuery(String.Format(@" select r from Revision r where r.Code = :Code order by upper( r.Name ), r.S
IQuery query = session.CreateQuery(String.Format(@"
select
r
from
Revision r
where r.Code = :Code
order by upper( r.Name ), r.SeqNo
"))
query.SetParameter<string>("Code", CodeValue);
如果变量CodeValue的值包含字符“[”的方括号,我会遇到问题。每次将其作为值传递时,SQL Server都不会返回任何结果
建议,谢谢。试试这个
query.SetAnsiString("text", "%" + filter.Text.Replace("[", "[[]") + "%");
试试这个
query.SetAnsiString("text", "%" + filter.Text.Replace("[", "[[]") + "%");
您好,谢谢您的回答。做得好,我应用的代码和您在这里展示的代码一样。我发现这很简单['是SQL Server中的转义字符之一。因此,总之,我们只需要管理文本来处理SQL Server的转义字符。非常感谢。我不知道为什么要添加%'s,查询使用的是=不喜欢。您好,谢谢您的回答。做得好,我应用的代码与您在此处显示的代码一样。我发现这是错误的['是SQL Server中的转义字符之一。因此,总而言之,我们只需要管理文本来处理SQL Server的转义字符。非常感谢。不确定为什么要添加%'s,查询使用的是=not like。