我目前正在运行一个 VB.net/ASPX Web 应用程序,该应用程序根据用户安全组级别从数据库中获取特定记录。我想要做的是如果用户来自多个安全组 - 获取他们存在的每个安全组的报告。
在 where 子句中,存在这一行:
and b.security_level_id = @security_level_id
这仅允许将一个security_level_id
传递到选择查询中。
是否可以多次运行查询,更改参数:
<asp:Parameter DefaultValue="0" Name="security_level_id" />
或者我可以用这个参数创建一个数组并在单个查询中循环遍历它吗?
谢谢!
解决了:
好的。我通过在我的实际 VB 代码中创建选择命令解决了这个问题。它消除了对参数的需求,因此我可以将变量直接传递到查询字符串中。
我用过:受保护的 Sub SqlDS_ReportCategories_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles SqlDS_ReportCategories.Init
获取我的数据源的句柄,然后: Dim s As SqlDataSource = CType(sender, SqlDataSource) 创建它的对象引用。
然后 s.SelectCommand =“一些查询”+ 变量 +“其余查询”
希望这对未来的人们有所帮助!
- 垫