2

ASP.NET で C# を使用して Web アプリを開発しています。Google Transliteration で指定されているように、データを Unicode 文字として SQL テーブルに保存しています。ヒンディー語を使用することになっています。データの追加に関しては問題ありません。しかし、「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 を返します。

4

1 に答える 1

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の定数 (Transact-SQL)を参照してください。

ユニコード文字列

Unicode 文字列の形式は文字列に似ていますが、先頭に N 識別子が付きます (N は SQL-92 標準の National Language を表します)。N プレフィックスは大文字にする必要があります。たとえば、'Michél' は文字定数ですが、N'Michél' は Unicode 定数です。Unicode 定数は Unicode データとして解釈され、コード ページを使用して評価されません。

于 2012-12-28T11:23:57.823 に答える