我正在寻找一种方法来创建dinamic数据集,以便绑定到我的报告中 (我在Visual Studio 2015社区中使用C#)。 任何人都可以解释我该怎么办? 第一个想法是从查询创建数据集,然后将其绑定到我的报告, 但是我不能在没有告诉VS一个DataSet(它必须使用静态ConnectionString连接到数据库的情况下创建一个报告(VS仅仅是向导,我不知道如何以动态方式进行)
我希望拥有的示例代码:
DataSet myReportDS = ADO.getDS("SELECT * FROM" +
"Table1 JOIN Table2 ON Table1.pkey = Table2.fkey");
//here I am stuck because I don't know even how to add objects without a
//static connection to my report (Designer) and how to bind it.
还要记住DBMS是PostgreSQL。
非常感谢。
答案 0 :(得分:2)
最后我发现这篇文章解决了我的问题 https://blogs.msdn.microsoft.com/magreer/2008/10/16/setting-the-datasource-for-a-report-at-runtime/ 问题实际上是VS强制用户拥有静态DataSet以允许创建报告。所以基本上我必须在本地环境中创建我的数据库模式的副本,然后我正常执行我的查询然后使用Report.Fill()方法。一旦架构相同就可以了!
答案 1 :(得分:0)
您可以使用SqlDataAdapter
或OleDbDataAdapter
。
例如:
// Assumes that connection is a valid SqlConnection object.
string queryString =
"SELECT CustomerID, CompanyName FROM dbo.Customers";
SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection);
DataSet customers = new DataSet();
adapter.Fill(customers, "Customers");
msdn网站上有更多的例子。
来源: https://msdn.microsoft.com/en-us/library/bh8kx08z(v=vs.110).aspx