在SQL查询中使用c#变量

本文关键字:变量 SQL 查询 | 更新日期: 2023-09-27 18:04:33

我是新手。可能有一些明显的东西我完全忽略了,但是…

在执行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查询中使用c#变量

是否有一些特殊的语法来做这个?

Yes, Use SQLParameter。

类似:

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

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

var pageID=1;
var query = db.Query("SELECT * FROM pageinfo WHERE pageID = '"+ PAGEid +"');