Aracılığıyla paylaş


Dış bir DataSet Reporting Services ile kullanma

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 kaynak.Birden çok farklı veri kaynakları, XML verileriyle ya da uygulamayı yerel verilerini yönetmek için birlikte kullanılabilir.The DataSet object represents a complete küme of data, including related tables, constraints, and relationships among the tables.Nedeniyle DataSet nesnenin çok yönlülük saklamak ve veri, verilerinizi açıklamanızı genellikle işlenen ve dönüştürülmüş DataSet nesne, bu verileri bildirdiği önce oluşur.

Ile Reporting Services veri işleme uzantısı, herhangi bir özel tümleştirebilirsiniz. DataSet dış uygulamalar tarafından oluşturulan nesnelerin. Bunu yapmak için , bir özel veri işleme uzantısı ile oluşturun. Reporting Services arasında bir köprü gibi davranır, DataSet nesnesi ve rapor sunucusu.Çoğu için bu işlem kodu DataSet içinde nesnenin içerdiğiveri okuyucu oluşturduğunuz sınıf.

Açıklamanızı ilk adımı, DataSet rapor sunucusu için bir sağlayıcı belirli yöntem uygulamak, nesnesidirveri okuyucu doldurabilirsiniz sınıfıDataSet nesnesi.Aşağıdaki örnek, statik veri yüklenemedi gösterilmiştir bir DataSet sağlayıcıya özgü yöntem kullanarak, nesnesiveri okuyucu 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, veri kümesi almak sonra kullanabileceğiniz DataSet kendi uygulamalarında nesnesiOkuma, GetValue, GetName, GetOrdinal, GetFieldType, and FieldCount üyeleri veri okuyucu sınıf.