通过Delphi命令在SQL Server中搜索列类型nvarchar [英] Search on column type nvarchar in SQL Server by Delphi commands

查看:149
本文介绍了通过Delphi命令在SQL Server中搜索列类型nvarchar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨 我在SQL Server DB中有一列nvarchar或nchar,其中包含波斯语字段.
为了进行搜索,我应该在参数前使用字符"N".
但是我不知道怎么办.
以下命令无法正常运行:
ADOQuery.SQL.text:=(''SELECT *'');
ADOQuery.SQL.add(''FROM my_table'');
ADOQuery.SQL.add(''WHERE my_name = N''+'':my_name _p'');
ADOQuery.Parameters.ParamByName(''my_name _p'').Value:= trim(my_name.Text);

非常感谢

Hi I have a column of nvarchar or nchar in SQL Server DB which have fields in Persian language.
For search , I should use of character "N" before parameter.
But I don’t know how do it.
The following commands don’t be work properly:
ADOQuery.SQL.text :=(''SELECT * '');
ADOQuery.SQL.add(''FROM my_table '');
ADOQuery.SQL.add(''WHERE my_name = N'' + '': my_name _p'' );
ADOQuery.Parameters.ParamByName('' my_name _p '').Value := trim(my_name.Text) ;

Thanks very much

推荐答案

WHERE条件应如下所示:
The WHERE condition should looks like:
WHERE [Name] = N'Samuel'


因此,您需要两次使用'',例如:


So, you need to use a '' twice, for example:

//declare variable to store SQL command
sSQL: string;

//set the value
sSQL := 'SELECT * FROM my_table WHERE my_name = N'':my_name_p''';
ADOQuery.SQL.text := sSQL;
ADOQuery.Parameters.ParamByName('my_name_p').Value := trim(my_name.Text);



有关SQL查询中的N的更多信息: http://stackoverflow.com/questions/10025032/what-is-the-意思-of-the-prefix-n-in-t-sql语句 [



More about N in sql queries: http://stackoverflow.com/questions/10025032/what-is-the-meaning-of-the-prefix-n-in-t-sql-statements[^]


这篇关于通过Delphi命令在SQL Server中搜索列类型nvarchar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆