DataSet Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет кэш в памяти для данных.
public ref class DataSet : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitialize, System::ComponentModel::ISupportInitializeNotification, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
public ref class DataSet : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitialize, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
public ref class DataSet : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitializeNotification, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitialize, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[System.Serializable]
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitialize, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[System.Serializable]
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
type DataSet = class
inherit MarshalByValueComponent
interface IListSource
interface ISupportInitialize
interface ISupportInitializeNotification
interface ISerializable
interface IXmlSerializable
[<System.Serializable>]
type DataSet = class
inherit MarshalByValueComponent
interface IListSource
interface IXmlSerializable
interface ISupportInitialize
interface ISerializable
[<System.Serializable>]
type DataSet = class
inherit MarshalByValueComponent
interface IListSource
interface IXmlSerializable
interface ISupportInitializeNotification
interface ISupportInitialize
interface ISerializable
Public Class DataSet
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitialize, ISupportInitializeNotification, IXmlSerializable
Public Class DataSet
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitialize, IXmlSerializable
Public Class DataSet
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitializeNotification, IXmlSerializable
- Наследование
- Атрибуты
- Реализации
Примеры
Следующий пример состоит из нескольких методов, которые в сочетании создают и заполняют DataSet из базы данных Northwind .
using System;
using System.Data;
using System.Data.SqlClient;
namespace Microsoft.AdoNet.DataSetDemo
{
class NorthwindDataSet
{
static void Main()
{
string connectionString = GetConnectionString();
ConnectToData(connectionString);
}
private static void ConnectToData(string connectionString)
{
//Create a SqlConnection to the Northwind database.
using (SqlConnection connection =
new SqlConnection(connectionString))
{
//Create a SqlDataAdapter for the Suppliers table.
SqlDataAdapter adapter = new SqlDataAdapter();
// A table mapping names the DataTable.
adapter.TableMappings.Add("Table", "Suppliers");
// Open the connection.
connection.Open();
Console.WriteLine("The SqlConnection is open.");
// Create a SqlCommand to retrieve Suppliers data.
SqlCommand command = new SqlCommand(
"SELECT SupplierID, CompanyName FROM dbo.Suppliers;",
connection);
command.CommandType = CommandType.Text;
// Set the SqlDataAdapter's SelectCommand.
adapter.SelectCommand = command;
// Fill the DataSet.
DataSet dataSet = new DataSet("Suppliers");
adapter.Fill(dataSet);
// Create a second Adapter and Command to get
// the Products table, a child table of Suppliers.
SqlDataAdapter productsAdapter = new SqlDataAdapter();
productsAdapter.TableMappings.Add("Table", "Products");
SqlCommand productsCommand = new SqlCommand(
"SELECT ProductID, SupplierID FROM dbo.Products;",
connection);
productsAdapter.SelectCommand = productsCommand;
// Fill the DataSet.
productsAdapter.Fill(dataSet);
// Close the connection.
connection.Close();
Console.WriteLine("The SqlConnection is closed.");
// Create a DataRelation to link the two tables
// based on the SupplierID.
DataColumn parentColumn =
dataSet.Tables["Suppliers"].Columns["SupplierID"];
DataColumn childColumn =
dataSet.Tables["Products"].Columns["SupplierID"];
DataRelation relation =
new System.Data.DataRelation("SuppliersProducts",
parentColumn, childColumn);
dataSet.Relations.Add(relation);
Console.WriteLine(
"The {0} DataRelation has been created.",
relation.RelationName);
}
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file.
return "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
}
}
}
Option Explicit On
Option Strict On
Imports System.Data
Imports system.Data.SqlClient
Public Class NorthwindDataSet
Public Shared Sub Main()
Dim connectionString As String = _
GetConnectionString()
ConnectToData(connectionString)
End Sub
Private Shared Sub ConnectToData( _
ByVal connectionString As String)
' Create a SqlConnection to the Northwind database.
Using connection As SqlConnection = New SqlConnection( _
connectionString)
' Create a SqlDataAdapter for the Suppliers table.
Dim suppliersAdapter As SqlDataAdapter = _
New SqlDataAdapter()
' A table mapping names the DataTable.
suppliersAdapter.TableMappings.Add("Table", "Suppliers")
' Open the connection.
connection.Open()
Console.WriteLine("The SqlConnection is open.")
' Create a SqlCommand to retrieve Suppliers data.
Dim suppliersCommand As New SqlCommand( _
"SELECT SupplierID, CompanyName FROM dbo.Suppliers;", _
connection)
suppliersCommand.CommandType = CommandType.Text
' Set the SqlDataAdapter's SelectCommand.
suppliersAdapter.SelectCommand = suppliersCommand
' Fill the DataSet.
Dim dataSet As New DataSet("Suppliers")
suppliersAdapter.Fill(dataSet)
' Create a second SqlDataAdapter and SqlCommand to get
' the Products table, a child table of Suppliers.
Dim productsAdapter As New SqlDataAdapter()
productsAdapter.TableMappings.Add("Table", "Products")
Dim productsCommand As New SqlCommand( _
"SELECT ProductID, SupplierID FROM dbo.Products;", _
connection)
productsAdapter.SelectCommand = productsCommand
' Fill the DataSet.
productsAdapter.Fill(dataSet)
' Close the connection.
connection.Close()
Console.WriteLine("The SqlConnection is closed.")
' Create a DataRelation to link the two tables
' based on the SupplierID.
Dim parentColumn As DataColumn = _
dataSet.Tables("Suppliers").Columns("SupplierID")
Dim childColumn As DataColumn = _
dataSet.Tables("Products").Columns("SupplierID")
Dim relation As New DataRelation("SuppliersProducts", _
parentColumn, childColumn)
dataSet.Relations.Add(relation)
Console.WriteLine( _
"The {0} DataRelation has been created.", _
relation.RelationName)
End Using
End Sub
Private Shared Function GetConnectionString() As String
' To avoid storing the connection string in your code,
' you can retrieve it from a configuration file.
Return "Data Source=(local);Initial Catalog=Northwind;" _
& "Integrated Security=SSPI;"
End Function
End Class
Комментарии
Дополнительные сведения об этом API см. в разделе Дополнительные примечания API для DataSet.
Конструкторы
DataSet() |
Инициализирует новый экземпляр класса DataSet. |
DataSet(SerializationInfo, StreamingContext) |
Устаревшие..
Инициализирует новый экземпляр класса DataSet с сериализованными данными. |
DataSet(SerializationInfo, StreamingContext, Boolean) |
Устаревшие..
Инициализирует новый экземпляр класса DataSet с сериализованными данными. |
DataSet(String) |
Инициализирует новый экземпляр класса DataSet с заданным именем. |
Свойства
CaseSensitive |
Возвращает или задает значение, определяющее, учитывается ли регистр при сравнении строк в объектах DataTable. |
Container |
Возвращает контейнер для компонента. (Унаследовано от MarshalByValueComponent) |
DataSetName |
Возвращает или задает имя текущего DataSet. |
DefaultViewManager |
Получает новое представление данных класса DataSet для осуществления фильтрации, поиска или перехода с помощью настраиваемого класса DataViewManager. |
DesignMode |
Возвращает значение, показывающее, находится ли компонент в настоящий момент в режиме разработки. (Унаследовано от MarshalByValueComponent) |
EnforceConstraints |
Возвращает или задает значение, определяющее соблюдение правил ограничения при попытке совершения операции обновления. |
Events |
Возвращает список обработчиков событий, которые прикреплены к этому компоненту. (Унаследовано от MarshalByValueComponent) |
ExtendedProperties |
Возвращает коллекцию настраиваемых данных пользователя, связанных с |
HasErrors |
Получает значение, определяющее наличие ошибок в любом из объектов DataTable в классе DataSet. |
IsInitialized |
Получает значение, указывающее, инициализирована ли таблица DataSet. |
Locale |
Возвращает или задает сведения о языке, используемые для сравнения строк таблицы. |
Namespace |
Возвращает или задает пространство имен DataSet. |
Prefix |
Возвращает или задает префикс XML, который является псевдонимом пространства имен класса DataSet. |
Relations |
Получает коллекцию соотношений, связывающих таблицы и позволяющих переходить от родительских таблиц к дочерним. |
RemotingFormat |
Возвращает или задает формат сериализации для объекта , используемого DataSet во время удаленного взаимодействия. |
SchemaSerializationMode |
Возвращает или задает объект SchemaSerializationMode для DataSet. |
Site | |
Tables |
Возвращает коллекцию таблиц класса DataSet. |
Методы
AcceptChanges() |
Сохраняет все изменения, внесенные в класс DataSet после его загрузки или после последнего вызова метода AcceptChanges(). |
BeginInit() |
Начинает инициализацию DataSet, используемого в форме или другим компонентом. Инициализация происходит во время выполнения. |
Clear() |
Удаляет из класса DataSet любые данные путем удаления всех строк во всех таблицах. |
Clone() |
Копирует структуру класса DataSet, включая все схемы, соотношения и ограничения объекта DataTable. Данные не копируются. |
Copy() |
Копирует структуру и данные для DataSet. |
CreateDataReader() |
Возвращает объект DataTableReader с одним результирующим набором для каждой последовательности DataTable в той же последовательности, в которой таблицы отображаются в коллекции Tables. |
CreateDataReader(DataTable[]) |
Возвращает объект DataTableReader с одним результирующим набором для каждой таблицы DataTable. |
DetermineSchemaSerializationMode(SerializationInfo, StreamingContext) |
Определяет SchemaSerializationMode для DataSet. |
DetermineSchemaSerializationMode(XmlReader) |
Определяет SchemaSerializationMode для DataSet. |
Dispose() |
Освобождает все ресурсы, занятые модулем MarshalByValueComponent. (Унаследовано от MarshalByValueComponent) |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом MarshalByValueComponent, а при необходимости освобождает также управляемые ресурсы. (Унаследовано от MarshalByValueComponent) |
EndInit() |
Завершает инициализацию DataSet, используемого в форме или другим компонентом. Инициализация происходит во время выполнения. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetChanges() |
Получает копию класса DataSet, содержащую все изменения, внесенные после его загрузки или после последнего вызова метода AcceptChanges(). |
GetChanges(DataRowState) |
Получает копию таблицы DataSet, содержащую все изменения, внесенные после ее последней загрузки или после вызова метода AcceptChanges() и отфильтрованные по параметру DataRowState. |
GetDataSetSchema(XmlSchemaSet) |
Получает копию XmlSchemaSet для DataSet. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Устаревшие..
Заполняет объект сведений о сериализации данными, необходимыми для сериализации DataSet. |
GetSchemaSerializable() |
Возвращает сериализуемый экземпляр XmlSchema. |
GetSerializationData(SerializationInfo, StreamingContext) |
Десериализует данные таблицы из двоичного потока или XML-потока. |
GetService(Type) |
Возвращает средство реализации объекта IServiceProvider. (Унаследовано от MarshalByValueComponent) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
GetXml() |
Возвращает XML-представление данных, хранящихся в классе DataSet. |
GetXmlSchema() |
Возвращает XML-схему для XML-представления данных, хранящихся в классе DataSet. |
HasChanges() |
Получает значение, определяющее наличие изменений в классе DataSet, включая добавление, удаление или изменение строк. |
HasChanges(DataRowState) |
Получает значение, определяющее наличие изменений в классе DataSet, включая добавление, удаление или изменение строк, отфильтрованных по типу DataRowState. |
InferXmlSchema(Stream, String[]) |
Применяет XML-схему из указанного объекта Stream к объекту DataSet. |
InferXmlSchema(String, String[]) |
Применяет XML-схему из указанного файла к классу DataSet. |
InferXmlSchema(TextReader, String[]) |
Применяет XML-схему из указанного объекта TextReader к объекту DataSet. |
InferXmlSchema(XmlReader, String[]) |
Применяет XML-схему из указанного объекта XmlReader к объекту DataSet. |
InitializeDerivedDataSet() |
Десериализует все данные таблицы DataSet из двоичного потока или XML-потока. |
IsBinarySerialized(SerializationInfo, StreamingContext) |
Анализирует формат сериализованного представления набора данных |
Load(IDataReader, LoadOption, DataTable[]) |
Заполняет набор данных DataSet значениями из источника данных с помощью предоставляемого объекта IDataReader, использующего массив экземпляров DataTable для предоставления сведений о схеме и пространстве имен. |
Load(IDataReader, LoadOption, FillErrorEventHandler, DataTable[]) |
Заполняет набор данных DataSet значениями из источника данных с помощью предоставляемого объекта IDataReader, использующего массив экземпляров DataTable для предоставления сведений о схеме и пространстве имен. |
Load(IDataReader, LoadOption, String[]) |
Заполняет набор данных DataSet значениями из источника данных с помощью предоставляемого объекта IDataReader, используя массив строк для предоставления имен таблиц в наборе данных |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Merge(DataRow[]) |
Осуществляет слияние массива объектов DataRow и текущего класса DataSet. |
Merge(DataRow[], Boolean, MissingSchemaAction) |
Осуществляет слияние массива объектов DataRow и текущего объекта DataSet, сохраняя или удаляя любые изменения в этом объекте |
Merge(DataSet) |
Осуществляет слияние указанного объекта DataSet и его схемы с текущим объектом |
Merge(DataSet, Boolean) |
Осуществляет слияние указанного класса DataSet и его схемы с текущим объектом |
Merge(DataSet, Boolean, MissingSchemaAction) |
Осуществляет слияние указанного класса DataSet и его схемы с текущим набором данных |
Merge(DataTable) |
Осуществляет слияние указанного объекта DataTable и его схемы с текущим объектом DataSet. |
Merge(DataTable, Boolean, MissingSchemaAction) |
Осуществляет слияние указанного класса DataTable и его схемы с текущим объектом |
OnPropertyChanging(PropertyChangedEventArgs) |
Вызывает событие OnPropertyChanging(PropertyChangedEventArgs). |
OnRemoveRelation(DataRelation) |
Происходит при удалении объекта DataRelation из DataTable. |
OnRemoveTable(DataTable) | |
RaisePropertyChanging(String) |
Посылает уведомление об изменении указанного свойства DataSet. |
ReadXml(Stream) |
Считывает XML-схему и данные в DataSet, используя указанный класс Stream. |
ReadXml(Stream, XmlReadMode) |
Считывает XML-схему и данные в DataSet, используя указанные объекты Stream и XmlReadMode. |
ReadXml(String) |
Считывает XML-схему и данные в DataSet, используя указанный файл. |
ReadXml(String, XmlReadMode) |
Считывает XML-схему и данные в DataSet, используя указанный файл и XmlReadMode. |
ReadXml(TextReader) |
Считывает XML-схему и данные в DataSet, используя указанный класс TextReader. |
ReadXml(TextReader, XmlReadMode) |
Считывает XML-схему и данные в DataSet, используя указанные объекты TextReader и XmlReadMode. |
ReadXml(XmlReader) |
Считывает XML-схему и данные в DataSet, используя указанный класс XmlReader. |
ReadXml(XmlReader, XmlReadMode) |
Считывает XML-схему и данные в DataSet, используя указанные объекты XmlReader и XmlReadMode. |
ReadXmlSchema(Stream) |
Считывает XML-схему из указанного класса Stream в класс DataSet. |
ReadXmlSchema(String) |
Считывает XML-схему из указанного файла в класс DataSet. |
ReadXmlSchema(TextReader) |
Считывает XML-схему из указанного класса TextReader в класс DataSet. |
ReadXmlSchema(XmlReader) |
Считывает XML-схему из указанного класса XmlReader в класс DataSet. |
ReadXmlSerializable(XmlReader) |
Игнорирует атрибуты и возвращает пустой DataSet. |
RejectChanges() |
Отменяет все изменения, внесенные в класс DataSet после его создания или после последнего вызова метода AcceptChanges(). |
Reset() |
Очищает все таблицы и удаляет все связи, внешние ограничения и таблицы из DataSet. Для восстановления исходного состояния класса Reset() необходимо переопределить метод DataSet в подклассах. |
ShouldSerializeRelations() |
Получает значение, определяющее необходимость сохранения значения свойства Relations. |
ShouldSerializeTables() |
Получает значение, определяющее необходимость сохранения значения свойства Tables. |
ToString() |
Возвращает объект String, содержащий имя Component, если оно есть. Этот метод не следует переопределять. (Унаследовано от MarshalByValueComponent) |
WriteXml(Stream) |
Записывает текущие данные для DataSet с помощью указанного объекта Stream. |
WriteXml(Stream, XmlWriteMode) |
Записывает текущие данные и по возможности схему для DataSet с помощью указанных Stream и XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(String) |
Записывает текущие данные для DataSet в указанный файл. |
WriteXml(String, XmlWriteMode) |
Записывает текущие данные и по возможности схему для DataSet в указанный файл с помощью заданного объекта XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(TextWriter) |
Записывает текущие данные для DataSet с помощью указанного объекта TextWriter. |
WriteXml(TextWriter, XmlWriteMode) |
Записывает текущие данные и по возможности схему для DataSet с помощью указанных TextWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(XmlWriter) |
Записывает текущие данные для DataSet в указанный класс XmlWriter. |
WriteXml(XmlWriter, XmlWriteMode) |
Записывает текущие данные и по возможности схему для DataSet с помощью указанных XmlWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXmlSchema(Stream) |
Записывает структуру DataSet в качестве XML-схемы для указанного объекта Stream. |
WriteXmlSchema(Stream, Converter<Type,String>) |
Записывает структуру DataSet в качестве XML-схемы для указанного объекта Stream. |
WriteXmlSchema(String) |
Записывает структуру класса DataSet в виде XML-схемы в файл. |
WriteXmlSchema(String, Converter<Type,String>) |
Записывает структуру класса DataSet в виде XML-схемы в файл. |
WriteXmlSchema(TextWriter) |
Записывает структуру DataSet в качестве XML-схемы для указанного объекта TextWriter. |
WriteXmlSchema(TextWriter, Converter<Type,String>) |
Записывает структуру DataSet в виде схемы XML для указанного объекта TextWriter. |
WriteXmlSchema(XmlWriter) |
Записывает структуру класса DataSet в виде XML-схемы в объект XmlWriter. |
WriteXmlSchema(XmlWriter, Converter<Type,String>) |
Записывает структуру DataSet в виде схемы XML для указанного объекта XmlWriter. |
События
Disposed |
Добавляет обработчик события для ожидания события Disposed в компоненте. (Унаследовано от MarshalByValueComponent) |
Initialized |
Происходит после инициализации таблицы DataSet. |
MergeFailed |
Происходит, если значения первичного ключа конечного и основного объектов DataRow совпадают, а свойство EnforceConstraints имеет значение true. |
Явные реализации интерфейса
IListSource.ContainsListCollection |
Описание этого члена см. в разделе ContainsListCollection. |
IListSource.GetList() |
Описание этого члена см. в разделе GetList(). |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Заполняет объект сведений о сериализации данными, необходимыми для сериализации DataSet. |
IXmlSerializable.GetSchema() |
Описание этого члена см. в разделе GetSchema(). |
IXmlSerializable.ReadXml(XmlReader) |
Описание этого члена см. в разделе ReadXml(XmlReader). |
IXmlSerializable.WriteXml(XmlWriter) |
Описание этого члена см. в разделе WriteXml(XmlWriter). |
Методы расширения
GetKeyedService<T>(IServiceProvider, Object) |
Возвращает службу типа |
GetKeyedServices(IServiceProvider, Type, Object) |
Возвращает перечисление служб типа |
GetKeyedServices<T>(IServiceProvider, Object) |
Возвращает перечисление служб типа |
GetRequiredKeyedService(IServiceProvider, Type, Object) |
Возвращает службу типа |
GetRequiredKeyedService<T>(IServiceProvider, Object) |
Возвращает службу типа |
CreateAsyncScope(IServiceProvider) |
Создает интерфейс AsyncServiceScope, который может использоваться для разрешения служб с ограниченной областью. |
CreateScope(IServiceProvider) |
Создает интерфейс IServiceScope, который может использоваться для разрешения служб с ограниченной областью. |
GetRequiredService(IServiceProvider, Type) |
Возвращает службу типа |
GetRequiredService<T>(IServiceProvider) |
Возвращает службу типа |
GetService<T>(IServiceProvider) |
Возвращает службу типа |
GetServices(IServiceProvider, Type) |
Возвращает перечисление служб типа |
GetServices<T>(IServiceProvider) |
Возвращает перечисление служб типа |
GetFakeLogCollector(IServiceProvider) |
Возвращает объект , который собирает записи журнала, отправляемые в поддельные средства ведения журнала. |
GetFakeRedactionCollector(IServiceProvider) |
Возвращает экземпляр сборщика поддельных средств редактирования из контейнера внедрения зависимостей. |
Применяется к
Потокобезопасность
Этот тип является безопасным для многопоточных операций чтения. Необходимо синхронизировать все операции записи.