Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Description

...

Wiki Markup
{description}
{excerpt}Sets an ADO.NET IDataReader as a data source to bind to template data markers.

...

Signature
C#C#
{excerpt}
{signature:C#}
 public void BindData(System.Data.IDataReader source, System.String dataSourceName, DataBindingProperties property)
Signature
{signature}{signature:vb.net
vb.net
}
Public Sub BindData(ByVal source As System.Data.IDataReader, ByVal dataSourceName As String, ByVal [property] As DataBindingProperties)
Parameters
{signature}
{parameters}
{param:source}This parameter must be an instance of {msdn:System.Data.SqlClient.SqlDataReader
|System.Data.SqlClient.SqlDataReader
,
}, {msdn:System.Data.OleDb.OleDbDataReader
|System.Data.OleDb.OleDbDataReader
or
} or {msdn:Microsoft.AnalysisServices.AdomdClient.AdomdDataReader
|Microsoft.AnalysisServices.AdomdClient.AdomdDataReader
, otherwise BindData will throw an exception.
Param
sourcesourceThis parameter must be an instance of
Msdn
1System.Data.SqlClient.SqlDataReader
Msdn
1System.Data.OleDb.OleDbDataReader
Msdn
1Microsoft.AnalysisServices.AdomdClient.AdomdDataReader
Param
dataSourceNamedataSourceName

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
propertyproperty

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

Param
propertyproperty

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
}, otherwise {{BindData}} will throw an exception.
{param}
{param: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}
{param:property}The [DataBindingProperties|DataBindingProperties] object which contains information about how the data should be bound to the template.
{param}
{param:property}The [DataBindingProperties|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.  {param}
{exceptions}
{exception:ArgumentNullException}{{BindData}} will throw this exception if {{null}} \(C\#\) or {{Nothing}} \(VB.NET\) is passed to the method.{exception}
{example}
{code:csharp|title=C#}

          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}
{code:vbnet|title=VB}
          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
{code}
{example}
Exception
ArgumentNullExceptionArgumentNullException

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

Example
Code Block
csharpcsharp
titleC#
Code Block
vbnetvbnet
titleVB