Share via


Raporlama Hizmetleri ile harici bir Dataset kullanarak

The DataSet object is central to supporting disconnected, distributed data scenarios with ADO.NET.The DataSet object is a memory-resident representation of data that provides a consistent relational programming model regardless of the data source.xml verileriyle veya uygulamada yerel verilerini yönetmek için birden çok farklı veri kaynakları ile birlikte kullanılabilir.The DataSet object represents a complete set of data, including related tables, constraints, and relationships among the tables.Nedeniyle DataSet , depolama ve veri, verilerinizi çözülme nesnenin çok yönlülük genellikle iþlenmesi ve içine dönüştürülmüş bir DataSet bu veriler üzerinde raporlama oluşmadan önce nesne.

İle Reporting Services veri işleme uzantıları, siz entegre herhangi özel DataSet harici uygulamalar tarafından oluşturulan nesneler.Bunu başarmak için de bir özel veri işleme uzantısı oluşturmak Reporting Services arasında bir köprü gibi davranır, DataSet nesne ve rapor sunucusu.Çoğu bunu işlemek için kod DataSet nesne yer alan DataReader oluşturduğunuz sınıf.

Sunduğu ilk adımı sizin DataSet rapor sunucusu nesnesidir uygulamak için bir sağlayıcı belirli yöntemnde, DataReader doldurabilir sınıfı bir DataSet nesne.Aşağıdaki örnek statik verileri yüklemek nasıl gösterir bir DataSet kullanarak nesne bir sağlayıcı-belirli yöntemnde sizin DataReader sınıfı.

'Private members of the DataReader class
Private m_dataSet As System.Data.DataSet
Private m_currentRow As Integer

'Method to create a dataset
Friend Sub CreateDataSet()
   ' Create a dataset.
   Dim ds As New System.Data.DataSet("myDataSet")
   ' Create a data table. 
   Dim dt As New System.Data.DataTable("myTable")
   ' Create a data column and set various properties. 
   Dim dc As New System.Data.DataColumn()
   dc.DataType = System.Type.GetType("System.Decimal")
   dc.AllowDBNull = False
   dc.Caption = "Number"
   dc.ColumnName = "Number"
   dc.DefaultValue = 25
   ' Add the column to the table. 
   dt.Columns.Add(dc)
   ' Add 10 rows and set values. 
   Dim dr As System.Data.DataRow
   Dim i As Integer
   For i = 0 To 9
      dr = dt.NewRow()
      dr("Number") = i + 1
      ' Be sure to add the new row to the DataRowCollection. 
      dt.Rows.Add(dr)
   Next i

   ' Fill the dataset.
   ds.Tables.Add(dt)

   ' Use a private variable to store the dataset in your
   ' DataReader.
   m_dataSet = ds

   ' Set the current row to -1.
   m_currentRow = - 1
End Sub 'CreateDataSet
// Private members of the DataReader class
private System.Data.DataSet m_dataSet;
private int m_currentRow;

// Method to create a dataset
internal void CreateDataSet()
{
   // Create a dataset.
   System.Data.DataSet ds = new System.Data.DataSet("myDataSet");
   // Create a data table. 
   System.Data.DataTable dt = new System.Data.DataTable("myTable");
   // Create a data column and set various properties. 
   System.Data.DataColumn dc = new System.Data.DataColumn(); 
   dc.DataType = System.Type.GetType("System.Decimal"); 
   dc.AllowDBNull = false; 
   dc.Caption = "Number"; 
   dc.ColumnName = "Number"; 
   dc.DefaultValue = 25; 
   // Add the column to the table. 
   dt.Columns.Add(dc); 
   // Add 10 rows and set values. 
   System.Data.DataRow dr; 
   for(int i = 0; i < 10; i++)
   { 
      dr = dt.NewRow(); 
      dr["Number"] = i + 1; 
      // Be sure to add the new row to the DataRowCollection. 
      dt.Rows.Add(dr);
   }

   // Fill the dataset.
   ds.Tables.Add(dt);

   // Use a private variable to store the dataset in your
   // DataReader.
   m_dataSet = ds;

   // Set the current row to -1.
   m_currentRow = -1;
}
public bool Read()
{
   m_currentRow++;
   if (m_currentRow >= m_dataSet.Tables[0].Rows.Count) 
   {
      return (false);
   } 
   else 
   {
      return (true);
   }
}

public int FieldCount
{
   // Return the count of the number of columns, which in
   // this case is the size of the column metadata
   // array.
   get { return m_dataSet.Tables[0].Columns.Count; }
}

public string GetName(int i)
{
   return m_dataSet.Tables[0].Columns[i].ColumnName;
}

public Type GetFieldType(int i)
{
   // Return the actual Type class for the data type.
   return m_dataSet.Tables[0].Columns[i].DataType;
}

public Object GetValue(int i)
{
   return m_dataSet.Tables[0].Rows[m_currentRow][i];
}

public int GetOrdinal(string name)
{
   // Look for the ordinal of the column with the same name and return it.
   // Returns -1 if not found.
   return m_dataSet.Tables[0].Columns[name].Ordinal;
}

Oluşturmak veya sizin dataset almak bir kez kullanabilirsiniz DataSet nesne kendi uygulamalarında okuma, GetValue, GetName, GetOrdinal, GetFieldType, ve FieldCount üyeleri DataReader sınıfı.