Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Description

Excerpt

Sets an ADO.NET IDataReader as a data source to bind to template data markers.

Signature
C#
C#
 public void BindData(System.Data.IDataReader source, System.String dataSourceName, DataBindingProperties property)
Signature
vb.net
vb.net
Public Sub BindData(ByVal source As System.Data.IDataReader, ByVal dataSourceName As String, ByVal [property] As DataBindingProperties)
Parameters
Param
source
source

This parameter must be an instance of

Msdn
System.Data.SqlClient.SqlDataReader
System.Data.SqlClient.SqlDataReader
1System.Data.SqlClient.SqlDataReader
,
Msdn
System.Data.OleDb.OleDbDataReader
System.Data.OleDb.OleDbDataReader
1System.Data.OleDb.OleDbDataReader
or
Msdn
Microsoft.AnalysisServices.AdomdClient.AdomdDataReader
Microsoft.AnalysisServices.AdomdClient.AdomdDataReader
1Microsoft.AnalysisServices.AdomdClient.AdomdDataReader
, otherwise BindData will throw an exception.

Param
dataSourceName
dataSourceName

The name of the set of data markers at which to insert the values imported from the data source. Note: dataSourceName does not include a data marker's column name, for example, the dataSourceName for %%=Products.ProductID is "Products."

Param
property
property

The DataBindingProperties object which contains information about how the data should be bound to the template.

Param
property
property

The DataBindingProperties object which contains information about how the data should be bound to the template. property Must be specified, but the DataBindingProperties need not be set beforehand. To bind data to a template with the default DataBindingProperties, pass in PowerPointTemplate.CreateDataBindingProperties() as the property value.

Exceptions
Exception
ArgumentNullException
ArgumentNullException

BindData will throw this exception if null (C#) or Nothing (VB.NET) is passed to the method.

Example
Code Block
csharp
csharp
titleC#

          OleDbDataReader CategoryRdr = GetCategoryReader();
          try
          {
               PowerPointTemplate pptt = new PowerPointTemplate();
               pptt.BindData(CategoryRdr,
                    "Category",
                    PowerPointTemplate.CreateDataImportProperties());
          } catch(System.Exception ex) {
          } finally {
               //--- The OleDbDataReader must be open when it's passed
               //--- to PowerPointTemplate. Remember to close it after use.
               if(CategoryRdr!=null)
                    CategoryRdr.Close();
          }

          //--- Get an OleDbDataReader containing a list of product categories
          private OleDbDataReader GetCategoryReader()
          {
               OleDbConnection Conn = new OleDbConnection();
               Conn.ConnectionString = Application["connstring"].ToString();

               //--- SQL query for a list of categories
               string CategorySQL = "SELECT CategoryName FROM Categories";
               OleDbCommand Cmd = new OleDbCommand(CategorySQL, Conn);
               Conn.Open();
               return Cmd.ExecuteReader();
          }
Code Block
vbnet
vbnet
titleVB
          Dim CategoryRdr As OleDbDataReader = GetCategoryReader()
          Try
               Dim pptt As New PowerPointTemplate()
               pptt.BindData(CategoryRdr, _
                    "Category", _
                    PowerPointTemplate.CreateDataBindingProperties())
          Catch ex As System.Exception
          Finally
               '--- The OleDbDataReader must be open when it's passed
               '--- to PowerPointTemplate. Remember to close it after use.
               If Not CategoryRdr = Nothing
                    CategoryRdr.Close()
               End If
          End Try

          '--- Get an OleDbDataReader containing a list of product categories
          Private Function GetCategoryReader() As OleDbDataReader
               Dim Conn As New OleDbConnection()
               Conn.ConnectionString = Application("connstring").ToString()

               '--- SQL query for a list of categories
               Dim CategorySQL As String = "SELECT CategoryName FROM Categories"
               Dim Cmd As New OleDbCommand(CategorySQL, Conn)
               Conn.Open()
               Return Cmd.ExecuteReader()
          End Function