从现有DataSet添加新数据源以获取本地报告?

时间:2013-03-23 00:33:54

标签: c# winforms

使用向导向项目添加新数据源时,有4个选项,一个用于数据库,一个用于服务,一个用于对象,最后一个用于 Sharepoint 。我专注于数据库对象,这两个选项在获取数据方面几乎相同,它们都使用SQL查询来获取数据,这里的区别是数据库将从存储在服务器上的过程或函数中获取数据,而对象将从远程执行某些SQL查询的方法获取数据。使用其中两个选项将使我重新创建/重新执行我的SQL语句来获取数据,这是非常不必要的,因为我已经有一个数据集填充数据(用于在DataGridView中显示),所以我为什么要这么做重新执行我在填充数据集时执行的确切SQL语句?

为了帮助您更轻松地对上下文进行成像,我将在此处发布一些代码:

DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("My SQL SELECT query", mySqlConnection);
da.Fill(ds,"myTable");

现在我想将ds添加为本地报告的新DataSource,而使用向导则不然  似乎能够提供帮助,我想要的新数据源可以通过精确创建 上面的“我的SQL SELECT查询”,这意味着ds已经是我想要的,但我不知道  如何使其可用于我的本地报告的数据源。

我希望你在这里理解我的问题,我不想做已经完成的事情。

1 个答案:

答案 0 :(得分:0)

如果我理解正确...如果您将内存中的数据集作为数据集,则可以使用Object方法从数据集返回数据源而不使用SQL。您可以在数据集内使用LINQ或数据表的Select()方法来过滤数据。

http://msdn.microsoft.com/en-us/library/det4aw50.aspx

http://msdn.microsoft.com/en-us/library/bb552415.aspx

希望它有所帮助。