使用列名称的变量来选择从查询返回的列。 (asp.net c#)

时间:2014-10-22 01:54:13

标签: c# asp.net sql-server

我搜索了大部分时间,我相信我可能无法向搜索引擎解释自己。请原谅我这个。  我有一个下拉列表,用于获取下面代码的列名。

MySQLDataSource.ConnectionString = matt.GetConnectionString();
MySQLDataSource.SelectCommand = "SELECT name FROM sys.syscolumns WHERE (id = 
      (SELECT id    FROM sys.sysobjects WHERE (name = 'tbl_EquipmentStock')))";
DropDownList1.DataValueField = "name";
DropDownList1.DataTextField = "name";

现在,我的工作意图是使用此中的选定项来创建下一个下拉菜单的sqldatasource。

   protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    funtions matt = new funtions(); // funtions is the class that contains my connection string.
    string frank = DropDownList1.SelectedValue;
    a_c_instruction.Text = " Data filtered on: ";
    selectedItem.Text = frank;
    string sql = "SELECT " + frank + " FROM tbl_EquipmentStock"; 
    AnotherSqlDataSource.ConnectionString = matt.GetConnectionString();
    AnotherSqlDataSource.SelectCommand = sql;
    DropDownList2.DataValueField = frank;
    DropDownList2.DataTextField = frank;
    DropDownList2.Visible = true;
}

但是,当我尝试使其工作时,DropDownList2不会填充。我能错过什么?感谢您查看我的问题。

1 个答案:

答案 0 :(得分:0)

我测试了你的代码,它可以在我的机器上运行。我猜测,为了在选择列之后立即发生这种情况,您需要确保AutoPostBack上的DropDownList1选项设置为true