C# SQL查询C QODBC中的单引号转义困难

C# SQL查询C QODBC中的单引号转义困难,c#,sql,select,quotes,double-quotes,C#,Sql,Select,Quotes,Double Quotes,我正在尝试运行包含单引号的SQL查询。我正在使用qodbc,当我试图通过以下方式成功使用单引号时: 使用反斜杠 使用双单引号 代码: 这对你有帮助。CommandType必须是文本 您应该使用参数化查询来避免此类问题。刚刚尝试,错误仍在发生。还有什么我可以试试的吗。谢谢。错误:字符串“PMI/8X25”后未闭合的引号。“PMI/8X25”附近的语法不正确。谢谢你的帮助,但是我在执行后收到了上面的消息。@trayvonmccall我更新了答案字符串值格式。请使用此值重试。exe.Parameter

我正在尝试运行包含单引号的SQL查询。我正在使用qodbc,当我试图通过以下方式成功使用单引号时:

使用反斜杠

使用双单引号

代码:

这对你有帮助。CommandType必须是文本


您应该使用参数化查询来避免此类问题。刚刚尝试,错误仍在发生。还有什么我可以试试的吗。谢谢。错误:字符串“PMI/8X25”后未闭合的引号。“PMI/8X25”附近的语法不正确。谢谢你的帮助,但是我在执行后收到了上面的消息。@trayvonmccall我更新了答案字符串值格式。请使用此值重试。exe.Parameters.AddP1,OdbcType.VarChar.Value=PMI/8\X25\';好的重试现在我的查询在末尾寻找一个额外的单引号,我建议您使用参数进行查询,因为它更安全。若要检查任何字符串与SQL的兼容性,请尝试使用字符串执行select语句。它将显示字符串中的错误。e、 g.选择“PMI/8X25”作为答案,如果有用,请进行投票/标记,以便将来的用户可以从这里参考。
string getQBInventory = "SELECT ListId, Name, QuantityOnHand from Item WHERE Name LIKE '"+ "PMI / 8\"X25''" + "%' AND IncomeAccountRefFullName <> 'Job Income' AND isActive <> 0";
PMI/8"X25'
string getQBInventory = "SELECT ListId, Name, QuantityOnHand from Item WHERE Name LIKE ? AND IncomeAccountRefFullName <> ? AND isActive <> ?"

OdbcCommand exe = new OdbcCommand(getQBInventory, conn);
exe.CommandType = CommandType.Text;

exe.Parameters.Add("P1", OdbcType.VarChar).Value = "PMI/8\"X25\'\'";
exe.Parameters.Add("P2", OdbcType.VarChar).Value = "Job Income";
exe.Parameters.Add("P3", OdbcType.Int).Value = 0;