0

私のC#コンソールアプリケーション:

1:

string CE_ParentName_ = CEReader5[0].ToString(); // get string with lithuanian letters for example "Konsolės". 

を使用するConsole.WriteLine()と、コンソールに正しい出力が得られます。

2:

readname.CommandText = "SELECT [ID] FROM [Net7].[dbo].[GroupFilter] WHERE 
[GroupFilterName]='" + CE_ParentName_ + "'"; // I need to find records in my DB with name of that string (1 possible option)

3:

if (NameReader.Read()) { idd = NameReader[0].ToString(); } // if i get any results ar no.2 i need to read them

ポイントは、文字列にリトアニア文字が含まれている場合、no.2 は結果を返さないことです。文字列にリトアニア文字がない場合 - すべてが完璧に機能します。すべてを試しました、あなたは私の最後の希望です。

4

1 に答える 1

0

リトアニア語の文字はマルチバイトですか? (たとえば日本語のように) GroupFilterName は NVARCHAR ですか、それとも VARCHAR ですか? NVARCHAR の場合は、おそらく文字列の前に N を付ける必要があります。

例えば。

readname.CommandText = "SELECT [ID] FROM [Net7].[dbo].[GroupFilter] WHERE 
[GroupFilterName]=N'" + CE_ParentName_ + "'";

また、インジェクション攻撃の回避に関する asawyer のコメントを参照してください。

于 2013-06-05T01:43:40.447 に答える