第 1 课:创建 RDL 生成器 Visual Studio 项目

针对本教程,您将创建一个简单控制台应用程序。本教程假定您是在 MicrosoftVisual Studio 环境中进行开发的。

创建控制台应用程序

  1. 在**“文件”菜单中,指向“新建”,再单击“项目”以打开“新建项目”**对话框。

  2. 展开**“Visual Basic 项目”“Visual C# 项目”**文件夹。

  3. 单击**“控制台应用程序”**图标。

  4. 在**“名称”**框中,输入您项目的名称。键入名称 SampleRDLGenerator。

  5. 在**“位置”框中,输入保存项目的路径,或单击“浏览”**导航到所需文件夹。

  6. 单击“确定”。解决方案资源管理器中将显示您项目的折叠视图。

    在解决方案资源管理器中,展开该项目节点。默认名称为 Program.cs(对于 Visual Basic,为 Module1.vb)的代码文件已添加到您的项目中。

完成创建应用程序模板后,请用以下内容替换代码文件的内容:

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
      }
   }
}