我可以使用以下代码行绑定我的下拉列表。
当前场景:DropDownList与该表的所有列名称绑定。
要求:DropDownList只与表格的特定列名绑定。
如何在客户端的SQL查询中实现这一点?
private void BindDropDownLists()
{
SqlDataSource.ConnectionString = connection;
SqlDataSource.SelectCommand = "SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE (TABLE_NAME = 'MyTable')";
**// Only specific columns needed as DDL input.**
**// I Used AND COLUMN_NAME = 'Mycolumnname' it worked but how to hardocore specifc set of column names**
//DropDownList5.DataSource = SqlDataSource;
DropDownList5.DataTextField = "COLUMN_NAME";
DropDownList5.DataValueField = "DATA_TYPE";
DropDownList5.DataBind();
}
答案 0 :(得分:1)
这里最可行和正确的选择是在项目中加载XML文件。
逐步执行 -
根据上述方法,您可以根据需要修改列名称并增加或减少名称,而无需修改代码或任何部署。只需更改XML文件即可完成工作。
现在工作是一个漫长的过程,但你会发现它对后期有益。
SQL命令 -
可以包含
"....WHERE (TABLE_NAME = 'MyTable') AND COLUMN_NAME IN ("+ ColumnNameListfromXML +")"
XML配置条目
<FetchColumnName>
<ColumnNameList>Column1,Column2,Column3</ColumnNameList>
</FetchColumnName>
答案 1 :(得分:0)
在查询中指定列
...WHERE (TABLE_NAME = 'MyTable') AND COLUMN_NAME='column1'
or
...WHERE (TABLE_NAME = 'MyTable') AND COLUMN_NAME IN ('column1','column2)
or
...WHERE (TABLE_NAME = 'MyTable') AND COLUMN_NAME LIKE '%column%'
答案 2 :(得分:0)
正确解决方案:
SqlDataSource.SelectCommand = "SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE (TABLE_NAME = 'VXRESULT' AND COLUMN_NAME IN ('Column1','column2','Column3'))";