我认为我的问题很简单。
假设我的.aspx页面中有一个gridview,一个文本框和一个按钮控件。我想要做的是将“我的数据库的表名”粘贴(或键入)到文本框中,当单击该按钮时,gridview将仅显示相应表名中的所有列。 / p>
谢谢和问候
更新: 1.我忘了告诉我还需要允许在gridview中编辑,删除和选择命令。 感谢所有评论,我尝试了一些解决方案。但是我发现最实用的方法是使用DataSource(允许自动生成insert,update,delete命令)。到目前为止,基于我对Google的研究,我还没有找到任何可以真正全面教授这种方法的教程。
我的当前代码是这样的:
protected void btnFind_Click(object sender, EventArgs e)
{
// sdsDynamic is the sql data source
// gvDynamic is the gridview
// txtTable is the textbox where the table name is contained
SqlConnection connection = new SqlConnection(myConnectionString);
string sqlText = "SELECT * FROM " + txtTable.Text;
sdsDynamic.SelectCommand = sqlText;
SqlDataAdapter adapter = new SqlDataAdapter(sqlText, connection);
adapter.SelectCommand.CommandType = CommandType.Text;
connection.Open();
gvDynamic.DataSource = sdsDynamic;
gvDynamic.DataBind();
connection.Close();
}
答案 0 :(得分:1)
如何将按钮点击事件中的代码隐藏从选定的表名称编写到select *
到数据集,然后将数据集绑定到gridview?
答案 1 :(得分:0)
以下代码块将满足您的要求:
在.aspx页面中,gridview代码可能如下所示:
<asp:GridView ID="gridViewData" runat="server">
</asp:GridView>
在代码背后的代码中可能会使用:
DataTable table = new DataTable("MyDataTable");
using (SqlConnection connection = new SqlConnection(YourDBConnectionString))
{
string sqlText = "SELECT * FROM " + txtTableName.Text;
SqlDataAdapter adapter = new SqlDataAdapter(sqlText, connection);
adapter.SelectCommand.CommandType = CommandType.Text;
connection.Open();
adapter.Fill(table);
}
gridViewData.DataSource = table;
gridViewData.DataBind();