Select @field 来自 table 作为参数
Select @field From table as parameter
我有一个数据库 table,其中包含一些列,例如 "col_a"、"col_b",我只想检索其中的一列。但是该列取决于某些用户 selection。有时可能是 col_a、col_b、c ....
所以我的问题是我是否可以 select 来自 table 的字段作为参数?
我想像这样设置@colName...
<asp:SqlDataSource ID="sdsOrderErrors" runat="server" ConnectionString="<%$ ConnectionStrings:CS %>" SelectCommand="SELECT @colName AS fld FROM [a_table]">
<SelectParameters>
<asp:QueryStringParameter Name="colName" QueryStringField="colName" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
或在代码后面。
有什么想法吗?
如果从代码隐藏工作,那么你可以做类似的事情
sdsOrderErrors.SelectCommand = string.Format("SELECT {0} AS fld FROM [a_table]", colName);
(OR) 有一个存储过程来接受一个参数并执行动态查询来实现同样的效果
create procedure usp_testSelect(@colname varchar(30))
as
begin
declare @sql varchar(200);
set @sql = 'select '+ @colname + ' AS fld FROM [a_table]';
exec(@sql);
end
然后在您的 ASP.NET SQLDataSource
中使用此程序
我有一个数据库 table,其中包含一些列,例如 "col_a"、"col_b",我只想检索其中的一列。但是该列取决于某些用户 selection。有时可能是 col_a、col_b、c .... 所以我的问题是我是否可以 select 来自 table 的字段作为参数? 我想像这样设置@colName...
<asp:SqlDataSource ID="sdsOrderErrors" runat="server" ConnectionString="<%$ ConnectionStrings:CS %>" SelectCommand="SELECT @colName AS fld FROM [a_table]">
<SelectParameters>
<asp:QueryStringParameter Name="colName" QueryStringField="colName" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
或在代码后面。 有什么想法吗?
如果从代码隐藏工作,那么你可以做类似的事情
sdsOrderErrors.SelectCommand = string.Format("SELECT {0} AS fld FROM [a_table]", colName);
(OR) 有一个存储过程来接受一个参数并执行动态查询来实现同样的效果
create procedure usp_testSelect(@colname varchar(30))
as
begin
declare @sql varchar(200);
set @sql = 'select '+ @colname + ' AS fld FROM [a_table]';
exec(@sql);
end
然后在您的 ASP.NET SQLDataSource