asp:SqlDataSource到DataSet项

时间:2009-06-23 23:04:38

标签: c# .net sqldatasource

我的aspx页面上有一个asp:SqlDataSource ID =“SqlDataSource1”工具,我想在c#sharp代码后面做的是传输数据源返回的记录并将它们放入DataSet中,这样我就可以了将分页添加到我的页面,我该怎么做,到目前为止我的尝试都失败了?!

到目前为止,我的尝试一直是:

DataSet Items = new DataSet(); Items = SqlDataSource1.Data();

但是我得到的错误是在这种情况下无法访问SqlDataSource1控件,所以显然intellisense没有把它拿起来,所以'Data()'位是完全虚构的......

谢谢,R

2 个答案:

答案 0 :(得分:3)

flavour404,如果您正确设置了控件,则不应该出现该错误。我刚刚测试了你的场景,它可以解决你提到的错误。

SqlDataSource1没有任何Data方法,您可能正在寻找Select()方法,它不会返回DataSet。如果将SqlDataSource.DataSourceMode属性设置为'DataSet',则会获得DataView对象。请参阅下面的示例

<asp:SqlDataSource ID="SqlDataSource1" runat="server" DataSourceMode="DataSet"
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
            SelectCommand="SELECT * FROM [Readings]"></asp:SqlDataSource>

DataView testView = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);

阅读MSDN了解详情:

http://msdn.microsoft.com/en-us/library/dz12d98w.aspx
http://msdn.microsoft.com/en-us/library/system.data.dataview.aspx

希望这有帮助!

答案 1 :(得分:2)

这应该有用! :)


DataView view = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);

DataTable table = view.ToTable();
DataSet ds = new DataSet();
ds.Tables.Add(table);