2016-08-04 2 views
-1

Я ищу способ создания динамических наборов данных для привязки к моим отчетам
(Я использую C# в сообществе Visual Studio 2015). Может ли кто-нибудь объяснить, как я могу это сделать? Первой идеей является создание набора данных из запроса, а затем привязка его к моему отчету, , но я не могу создать отчет, не сообщая VS DataSet (который должен быть подключен к БД с использованием статической ConnectionString (VS использует только меня Мастер , я не имею ни малейшего представления о том, как сделать это динамически)Создайте динамический набор данных для заполнения отчетов на Visual Studio

Пример кода, что я хотел бы иметь:

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. 

также в виду, что СУБД PostgreSQL

Спасибо большое. .

ответ

0

В конце концов, я нашел эту статью, чтобы решить мою проблему
https://blogs.msdn.microsoft.com/magreer/2008/10/16/setting-the-datasource-for-a-report-at-runtime/ Проблема в том, что VS заставляет пользователя иметь статический набор данных, чтобы разрешить создание отчетов. Поэтому в основном мне пришлось создать копию моей схемы БД в локальной среде, затем я выполнил свои запросы нормально, а затем использовал метод Report.Fill(). Как только схема будет одинаковой, она работает!

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

+0

То, что вы говорите, верно, но возникает проблема при построении отчетов с использованием конструктора таким образом. Он должен создать статический DataSet. Посмотрите на мой ответ. – saniales

+0

Со статикой .. вы имеете в виду типизированный datatset? –

+0

Да, извините за мои неправильные термины, я имею в виду наборы данных, определенные дизайнером, а не динамически как объекты. Надеюсь, вы понимаете. – saniales

Смежные вопросы