Занятие 1. Создание проекта генератора языка определения отчетов в среде Visual Studio

В этом учебнике будет создано простое приложение командной строки. Предполагается, что разработка ведется в в среде Microsoft Visual Studio.

Создание приложения командной строки

  1. В меню Файл выберите Создать и выберите пункт Проект, чтобы открыть диалоговое окно Новый проект.

  2. Выберите или Visual Basic или узел Visual C# на панели Типы проектов.

  3. Щелкните значок Console Application.

  4. В поле Имя введите имя проекта. Введите имя SampleRDLGenerator.

  5. В окне Location введите путь к папке, в которой будет сохранен проект, или нажмите кнопку Browse, чтобы перейти в эту папку.

  6. Нажмите кнопку ОК. В обозревателе решений появится свернутое представление проекта.

    Раскройте узел проекта в обозревателе решений. Теперь в проект добавлен файл с кодом, по умолчанию имеющий имя Program.cs (Module1.vb для Visual Basic).

После завершения создания шаблона приложения замените содержимое файла кода следующим:

Imports System
Imports System.Collections
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Imports System.Text
Imports System.Xml

Namespace SampleRDLGenerator
   Class RdlGenerator
      Private m_connection As SqlConnection
      Private m_connectString As String
      Private m_commandText As String
      Private m_fields As ArrayList
      
      
      Public Shared Sub Main()
         Dim myRdlGenerator As New RdlGenerator()
         myRdlGenerator.Run()
      End Sub 'Main
      
      
      Public Sub Run()
         Try
            ' Call methods to create the RDL
            Me.OpenConnection()
            Me.GenerateFieldsList()
            Me.GenerateRdl()
            
            Console.WriteLine("RDL file generated successfully.")
         
         Catch exception As Exception
            Console.WriteLine(("An error occurred: " + exception.Message))
         
         Finally
            ' Close the connection string
            m_connection.Close()
         End Try
      End Sub 'Run
      
      
      Public Sub OpenConnection()
      End Sub 'OpenConnection
      
      ' TODO: Open a connection to the sample database
      
      Public Sub GenerateFieldsList()
      End Sub 'GenerateFieldsList
      
      ' TODO: Generate a list of fields for a report query
      
      Public Sub GenerateRdl()
      End Sub 'GenerateRdl
   End Class 'RdlGenerator ' TODO: Generate RDL using XmlTextWriter
End Namespace 'SampleRDLGenerator
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Text;
using System.Xml;

namespace SampleRDLGenerator
{
   class RdlGenerator
   {
      SqlConnection m_connection;
      string m_connectString;
      string m_commandText;
      ArrayList m_fields;

      public static void Main()
      {
         RdlGenerator myRdlGenerator = new RdlGenerator();
         myRdlGenerator.Run();
      }

      public void Run()
      {
         try
         {
            // Call methods to create the RDL
            this.OpenConnection();
            this.GenerateFieldsList();
            this.GenerateRdl();

            Console.WriteLine("RDL file generated successfully.");
         }

         catch (Exception exception)
         {
            Console.WriteLine("An error occurred: " + exception.Message);
         }

         finally
         {
            // Close the connection string
            m_connection.Close();
         }
      }

      public void OpenConnection()
      {
         // TODO: Open a connection to the sample database
      }

      public void GenerateFieldsList()
      {
         // TODO: Generate a list of fields for a report query
      }

      public void GenerateRdl()
      {
         // TODO: Generate RDL using XmlTextWriter
      }
   }
}