c#控制台调用SQL -当字符串包含立陶宛字母时执行错误
本文关键字:立陶宛 错误 执行 包含 字符串 调用 控制台 SQL | 更新日期: 2023-09-27 18:17:00
我的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
关键是没有。如果字符串包含立陶宛字母,则2返回零结果。如果字符串是w/o立陶宛字母-一切工作完美。你们是我最后的希望了
立陶宛字符是多字节的吗?(比如日语)GroupFilterName是NVARCHAR还是VARCHAR?如果是NVARCHAR,可能需要在字符串前面加上N。
。
readname.CommandText = "SELECT [ID] FROM [Net7].[dbo].[GroupFilter] WHERE
[GroupFilterName]=N'" + CE_ParentName_ + "'";
请参阅律师关于避免注入攻击的评论。