Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在SQL Server的NHibernate查询中处理开放方括号_C#_Sql Server_Nhibernate - Fatal编程技术网

C# 在SQL Server的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

我在C中使用NHibernate查询得到以下查询代码

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。