我想从后面的代码中传递sql select查询,并且基于该查询,数据应该自动填入网格视图。选择查询将是不同的,即它可以选择任何表或视图。我的代码如下。
代码隐藏
Protected void ExecuteButton_Click(object sender, EventArgs e)
{
string sql = SqlQueryTextBox.Text;
SqlDataSource1.SelectCommand = sql;
GridView1.Databind();
}
Asp Markup
<asp:GridView ID="GridView1" runat="server"
DataSourceID="SqlDataSource1" AutoGenerateColumns="true">
</asp:GridView>
但网格视图中没有加载任何内容。到目前为止,我只使用网格视图来绑定单个表及其列。我的逻辑是否有任何错误?如何用动态数据填充网格?
答案 0 :(得分:1)
这对我来说很好......
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=*******Initial Catalog=*******;Persist Security Info=True;User ID=*******;Password=*******" ></asp:SqlDataSource>
<div>
<asp:TextBox ID="SqlQueryTextBox" runat="server" ></asp:TextBox>
<asp:Button ID="ExecuteButton" OnClick="ExecuteButton_Click" runat="server" Text="Execute"/>
</div>
<div>
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="true" />
</div>
...
protected void ExecuteButton_Click(object sender, EventArgs e)
{
SqlDataSource1.SelectCommand = SqlQueryTextBox.Text;
GridView1.DataBind();
}
聚苯乙烯。我使用&#34; SELECT * FROM information_schema.tables&#34;作为我的选择陈述
我认为你需要检查你的连接字符串。然后回到我们身边。
答案 1 :(得分:0)
string sql = SqlQry.Text;
SqlDataSource1.SelectCommand = sql;
SqlDataSource1 .Select (DataSourceSelectArguments .Empty );
Gv_1.DataBind();