2013-03-23 28 views
0

当使用向导新的数据源添加到项目中,有4个选项,一个无二数据库,一个无二服务,一个无二对象最后无二的Sharepoint。我专注于数据库对象,这两个选项都在如何获取数据几乎是相同的,他们都使用SQL查询来获取数据时,区别就在这里为数据库会得到一个程序或数据函数存储在服务器上,而对象将从远程执行某些SQL查询的方法获取数据。使用其中两个选项将使我重新创建/重新执行我的SQL语句以获取数据,这是非常不必要的,因为我已经有了一个充满数据的数据集(用于在DataGridView中显示),那么为什么我必须重新执行填写我的数据集时执行的确切SQL语句?从现有的DataSet中为本地报告添加新的数据源?

为了帮助你形象的背景下更容易,我会在这里发布一些代码:

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

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

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

回答

0

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

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

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

希望它帮助。

+0

我真的不明白如何实现这样的方法,因为据我所知该方法应该是静态的,这意味着不会有任何来自该方法隐藏该指针的调用,我的数据集也应该是静态放置在方法体内。我不希望它是静态的,如果我在这里错了什么,请减轻我的负担。谢谢! – 2013-03-23 01:31:02

+0

http://msdn.microsoft.com/en-us/library/ms252094.aspx – hagensoft 2013-03-25 06:19:08

+0

我不认为它们必须是静态的,你可以在内存数据集中使用LINQ返回一个泛型集合。以下是一些演练链接,它们有一些用于从业务对象返回列表的示例。 – hagensoft 2013-03-25 06:25:41

相关问题