繁体   English   中英

如何在ASP.NET/C#中将WHERE查询的动态值获取到数据网格中?

[英]How do I get a dynamic value for a WHERE query into a data grid in ASP.NET/C#?

我正在创建一个网页,该网页需要显示数据网格以及从数据库中提取的数据。 我在MS VS中将其作为ASP.NET/C#应用程序进行构建。 在我看来,我正在使用GridView元素。 我已经将GridView连接到数据库,并且它正在正确提取数据。

但是,我需要限制用户ID提取的数据,以便仅显示给定用户的数据。 我知道如何在GridView元素设计UI中对用户ID值进行硬编码,但是我需要该值是动态的。 具体来说,将从用户输入的网址中读取。

因此,我要完成的工作是从url字符串中提取用户ID(不是问题,我知道该怎么做),然后将其动态添加为数据库查询字符串中的WHERE查询值。 它看起来应该像这样:

SELECT * FROM [DatabaseTableName] WHERE ([customerID] = IDExtractedFromURL)

如何将动态客户ID值(“ IDExtractedFromURL”)添加到GridView元素? 是否可以将其作为变量传递? 如果是这样,它的语法是什么?

通常,我不会在查询字符串中传递用户ID,但是要完成您想要的操作,我会这样做:

1)从查询字符串获取用户ID

var userId = int.Parse(this.Request.QueryString("userId"));

2)将where过滤器添加到SQL

sql += "\\n WHERE [CustomerID] = @userId" ;

3)将参数添加到网格数据源(无论位于何处)

dataSource.SelectParameters.Add(new Parameter("userId", TypeCode.Int32, userId)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM