如何动态更新数据源C#
本文关键字:更新 数据源 动态 何动态 | 更新日期: 2023-09-27 18:26:01
我有一个日历,可以根据所选日期显示信息。它是这样的:
string queryString = "SELECT * from events";
SqlCommand thisCommand = thisConnection.CreateCommand();
thisCommand.CommandText = queryString;
SqlDataReader reader = thisCommand.ExecuteReader();
if(true)
queryString = "SELECT Text from events where repeat = 1";
else
queryString = "SELECT Text from events where repeat = 0";
GridView1.DataSource = reader ;
GridView1.Bind();
我得到的错误是"数据源不支持服务器端数据分页"
您应该使用SqlDataAdapter来填充DataTable,然后将该数据表用作网格视图的数据源。SqlReader是用于快速访问sql数据的类,它不适合作为数据源。
var adapter = new SqlDataAdapter(thisCommand);
var table = new DataTable();
adapter.Fill(table);
GridView1.DataSource = table;
GridView1.Bind();
不过,您将在web服务器上执行所有的排序/分页操作——这些操作最好直接在SQL服务器上处理。因此,我建议使用ObjectDataSource或LinqDataSource,并适当调整查询以处理SQL服务器级别的分页/排序。