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

 public void BindData(System.Data.IDataReader source, System.String dataSourceName, DataBindingProperties property)
Public Sub BindData(ByVal source As System.Data.IDataReader, ByVal dataSourceName As String, ByVal [property] As DataBindingProperties)

This parameter must be an instance of , or , otherwise BindData will throw an exception.

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."

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

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.

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


          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();
          }
          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