2014-08-08 1 views
0

Я хочу передать запрос выбора sql из кода позади и на основе этого запроса, данные должны автоматически заполняться в виде сетки. Запрос выбора будет другим, т. Е. Он может выбрать любые таблицы или представления. Мой код выглядит следующим образом.Сетка сетки Asp.net привязывается к запросу динамического выбора

CodeBehind

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> 

Но ничего не загружается в виде сетки. До сих пор я использовал вид сетки только для привязки отдельной таблицы и ее столбцов. Есть ли какая-то ошибка в моей логике? Как заполнить сетку динамическими данными?

ответ

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(); 
} 

Ps. Я использовал «SELECT * FROM information_schema.tables» как мой оператор select

Я думаю, вам нужно проверить строку подключения. а затем вернуться к нам.

0
string sql = SqlQry.Text; 
SqlDataSource1.SelectCommand = sql; 
SqlDataSource1 .Select (DataSourceSelectArguments .Empty); 
Gv_1.DataBind(); 
+1

Я думаю, что было бы более полезно для OP и других посетителей, когда вы добавите некоторое объяснение своей интенции. – reporter

+0

вопросник динамически добавляет запрос, после того как команда selectcommand связывается с sqldatasource и затем привязывается к gridview – SK2185

Смежные вопросы