Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据库表中获取选定列名的Sql命令是什么?_C#_Asp.net_Sql Server_Sqldatasource - Fatal编程技术网

C# 从数据库表中获取选定列名的Sql命令是什么?

C# 从数据库表中获取选定列名的Sql命令是什么?,c#,asp.net,sql-server,sqldatasource,C#,Asp.net,Sql Server,Sqldatasource,我可以用以下代码行绑定我的dropdownlist 当前场景:DropDownList与该表的所有列名绑定 要求:DropDownList仅与表的特定列名绑定。 如何在客户端的SQL查询中实现这一点 private void BindDropDownLists() { SqlDataSource.ConnectionString = connection; SqlDataSource.SelectCommand = "SELECT COLUMN_NAME, DATA_TYPE F

我可以用以下代码行绑定我的dropdownlist

当前场景: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();
}

在查询中指定列

...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%'

这里最可行和正确的选择是在项目中加载XML文件

分步执行-

  • 为您的项目创建ConfigXML
  • 根据您的要求放置所需的标签,并填写数据值
  • 在页面或公共类中,连接ConfigXML文件并为ConfigXML文件中的每个条目设置属性
  • 然后可以通过ConfigXML文件传递列名集
  • 按照上述方法,您将能够根据需要修改列名并增加或减少名称,而无需修改代码或任何部署。只要更改XML文件就可以了

    这是一个漫长的过程,现在工作,但你会发现它有利于以后的阶段

    SQL命令-

    能容纳

    "....WHERE (TABLE_NAME = 'MyTable') AND COLUMN_NAME IN ("+ ColumnNameListfromXML +")"
    
    XML配置项将被删除

    <FetchColumnName> 
           <ColumnNameList>Column1,Column2,Column3</ColumnNameList>     
    </FetchColumnName> 
    
    
    第1栏、第2栏、第3栏
    
    正确的解决方案:

    SqlDataSource.SelectCommand = "SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE (TABLE_NAME = 'VXRESULT' AND COLUMN_NAME IN ('Column1','column2','Column3'))";
    
    定义“特定列名”?