在SQL查询中使用C#变量

在SQL查询中使用C#变量,c#,asp.net,sql,C#,Asp.net,Sql,我对这个很陌生。可能有一些明显的东西我完全不知道,但是 在进行SQL查询(ASP.NET与C#)时,我可以得到以下结果: var query = db.Query("SELECT * FROM pageinfo WHERE pageID = 1"); 工作,但这: var pageID=1; var query = db.Query("SELECT * FROM pageinfo WHERE pageID = @pageID"); 没有 基本上,我要做的就是在查询中放置一个变量。是否有一些特

我对这个很陌生。可能有一些明显的东西我完全不知道,但是

在进行SQL查询(ASP.NET与C#)时,我可以得到以下结果:

var query = db.Query("SELECT * FROM pageinfo WHERE pageID = 1");
工作,但这:

var pageID=1;
var query = db.Query("SELECT * FROM pageinfo WHERE pageID = @pageID");
没有

基本上,我要做的就是在查询中放置一个变量。是否有一些特殊的语法用于执行此操作

谢谢

是否有一些特殊的语法用于执行此操作

是的,使用

比如:

SqlCommand cmd = new SqlCommand("SELECT * FROM pageinfo WHERE pageID = @pageID");
cmd.Parameters.AddWithValue("@pageID", 2);

您当前的方法
db.Query
似乎是您自己的实现。可以重载该方法以接收
SqlParameter
列表,然后将这些参数添加到命令中。这将阻止您使用

@user2124495,您最终将使用Sql注入。请使用参数化查询不要。阅读更多关于谢谢!现在可以工作了,但是现在我没有'query'变量,如何得到结果呢?您可以使用或从命令
var pageID=1;
var query = db.Query("SELECT * FROM pageinfo WHERE pageID = '"+ PAGEid +"');