| PowerTools ActiveReports for .NET 11.0J > ActiveReportsユーザーガイド > 基本操作 > セクションレポートの基本操作 > セクションレポートでのデータ連結 > 実行時のデータソースの変更 |
セクションレポートでは、実行時にデータソースを変更することができます。以下の手順に従って、実行時にレポートをNWind.mdbのサンプルデータベースに接続します。
データベースのパスを検索する
![]() |
メモ: 次の手順は、レジストリ配下にパスが格納されていることを前提にしています。 |
Visual Basic
| Visual Basicコード(コードの先頭に張り付けます) |
コードのコピー
|
|---|---|
Imports System Imports Microsoft.Win32 |
|
getDatabasePathの関数を作成します。
| Visual Basicコード(レポートクラス内に張り付けます) |
コードのコピー
|
|---|---|
Private Function getDatabasePath() As String |
|
C#
| C#コード(コードの先頭に張り付けます) |
コードのコピー
|
|---|---|
using Microsoft.Win32; using System; |
|
getDatabasePathの関数を作成します。
| C#コード(レポートクラス内に張り付けます) |
コードのコピー
|
|---|---|
private string getDatabasePath()
{
RegistryKey regKey = Registry.LocalMachine;
regKey = regKey.CreateSubKey("SOFTWARE\\GrapeCity\\ActiveReports 11");
return ((string)(regKey.GetValue("")));
}
|
|
データソースを変更する
Visual Basic
| Visual Basicコード(ReportStartイベントの上に貼り付けます) |
コードのコピー
|
|---|---|
Dim conn As System.Data.OleDb.OleDbConnection Dim reader As System.Data.OleDb.OleDbDataReader |
|
| Visual Basicコード(ReportStartイベント内に貼り付けます) |
コードのコピー
|
|---|---|
Dim dbPath As String = getDatabasePath()
Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath + "\NWIND.mdb"
conn = New System.Data.OleDb.OleDbConnection(connString)
Dim cmd As New System.Data.OleDb.OleDbCommand("SELECT * FROM Products WHERE UnitPrice = 18", conn)
conn.Open()
reader = cmd.ExecuteReader()
Me.DataSource = reader
|
|
C#
| C#コード(ReportStartイベントの上に貼り付けます) |
コードのコピー
|
|---|---|
private static System.Data.OleDb.OleDbConnection conn; private static System.Data.OleDb.OleDbDataReader reader; |
|
| C#コード(ReportStartイベント内に貼り付けます) |
コードのコピー
|
|---|---|
string dbPath = getDatabasePath();
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath + "\\NWIND.mdb";
conn = new System.Data.OleDb.OleDbConnection(connString);
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand("SELECT * FROM Products WHERE UnitPrice = 18", conn);
conn.Open();
reader = cmd.ExecuteReader();
this.DataSource = reader;
|
|
データ接続を閉じる
Visual Basic
| Visual Basicコード(ReportEndイベント内に貼り付けます) |
コードのコピー
|
|---|---|
reader.Close() conn.Close() |
|
C#
| C#コード(ReportEndイベント内に貼り付けます) |
コードのコピー
|
|---|---|
reader.Close(); conn.Close(); |
|