C# 参数化SQL查询不返回数据;非参数化查询返回正确的值

C# 参数化SQL查询不返回数据;非参数化查询返回正确的值,c#,sql,C#,Sql,我在互联网上到处寻找答案,但没有任何运气。我想这是我这方面的一个简单错误,但我一生都无法确定这是什么 var queryString1 = "SELECT * FROM Product_Table WHERE CustomerInvoice='@custInvSel';"; SqlCommand comm1 = new SqlCommand(queryString1, conn); comm1.Parameters.AddWithValue("@custInvSe

我在互联网上到处寻找答案,但没有任何运气。我想这是我这方面的一个简单错误,但我一生都无法确定这是什么

var queryString1 = "SELECT * FROM Product_Table WHERE CustomerInvoice='@custInvSel';";
        SqlCommand comm1 = new SqlCommand(queryString1, conn);
        comm1.Parameters.AddWithValue("@custInvSel", customerInvoiceSelected);
基本上,上述代码不返回任何数据,尽管存在数据。当代码读取

var queryString1 = "SELECT * FROM Product_Table WHERE CustomerInvoice='"+customerInvoiceSelected+"';";
        SqlCommand comm1 = new SqlCommand(queryString1, conn);
一切正常。在这两种情况下都不会出现让我难堪的错误。似乎查询中的参数把一切都弄混了

在这两种情况下,查询的执行方式相同

任何帮助或经验都将不胜感激。谢谢你抽出时间

CustomerInvoice='@custInvSel';";
需要

CustomerInvoice=@custInvSel";
当您进行参数化时,您不需要在字符串中添加引号,等等。您只需要发送原始数据。不要加分号

需要

CustomerInvoice=@custInvSel";

当您进行参数化时,您不需要在字符串中添加引号,等等。您只需要发送原始数据。不要加分号

就这样。我知道它必须是简单的语法。非常感谢!就这样。我知道它必须是简单的语法。非常感谢!尝试以下操作:
var queryString1=$“从Product_表中选择*,其中CustomerVoice='{CustomerVoiceSelected}';”尝试以下操作:
var queryString1=$“从Product_表中选择*,其中CustomerVoice='{CustomerVoiceSelected}';”