未在Unicode印地语中检索的SQL数据

时间:2012-12-28 11:18:36

标签: asp.net sql-server visual-studio-2010 c#-4.0 unicode-string

我正在使用C#在ASP.NET中开发一个Web应用程序。我将SQL表中的数据保存为Google Transliteration给出的Unicode字符。我本来应该用印地语。我没有关于添加数据的问题。但是当我使用“SELECT”语句时,在任何情况下都不会从数据库表中检索数据。

我的查询如下:

SELECT        uid, family_head, member_name, house_no, address, f_h_name, gender, caste, dob, occupation, literacy, end_date
FROM            family
WHERE        (member_name = 'समर्थ अग्रवाल')

它返回null。

1 个答案:

答案 0 :(得分:5)

将字符串更改为以N开头,表示它是Unicode字符串:

SELECT        uid, family_head, member_name, house_no, address, f_h_name, gender, caste, dob, occupation, literacy, end_date
FROM            family
WHERE        (member_name = N'समर्थ अग्रवाल')

否则,该字符串将不是Unicode字符串,并且查询将不返回任何结果。

请参阅MSDN上的Constants (Transact-SQL)

  

Unicode字符串

     

Unicode字符串的格式类似于字符串,但前面有一个N标识符(N代表SQL-92标准中的国家语言)。 N前缀必须为大写。例如,'Michél'是字符常量,而N'Michél'是Unicode常量。 Unicode常量被解释为Unicode数据,不使用代码页进行评估。