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 回答