7

VS2010、C#ASP.NETWebアプリのデータベースエンジンとしてSQLServer2008を使用しています。私のプロジェクトはペルシア語なので、データ型としてnvarcharとを使用しました。ntext

次のクエリを使用してデータベースから行を検索しましたが、指定されたキーワードの行があるのに何も返されません。もちろん、私のキーワードはペルシア語(ユニコード)です。

ここで何が問題になっていますか?ペルシア語を使用しているためですか?Unicode文字を含む列を検索するnvarcharにはどうすればよいですか?ntext

myCommand = new SqlCommand("select * from tblArticle where name LIKE '%" + txtSearch.Text + "%'", SQLConnection);
4

3 に答える 3

19

N'Unicode 文字列を検索していることを示すには、プレフィックスを使用する必要があります。

SELECT * FROM dbo.tblArticle WHERE name LIKE N'%......%'

それ以外の場合は、検索文字列を非 Unicode に変換してから検索しています....

于 2012-06-29T09:54:33.667 に答える
0

私はに精通していませんが、クエリタイプをC# ASP.NET使用するnvarcharか、違いを生むべきではありません。ntext私はあなたがあなたのクエリコマンドを変数に割り当てるだけでそれを実行していないのをさまよっています..あなたは次のようなことをすべきですmyCommand.execute()か?

于 2012-06-29T08:36:01.587 に答える