Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ADO.NET позволяет создавать объекты DataTable и добавлять их к существующему DataSet. Можно задать данные ограничения для DataTable, используя свойства PrimaryKey и Unique.
Пример
Следующий пример показывает, как создать объект DataSet, добавить новый объект DataTable к DataSet, а затем добавить к таблице три объекта DataColumn. В конце код задает один столбец в качестве столбца первичного ключа.
DataSet customerOrders = new("CustomerOrders");
DataTable ordersTable = customerOrders.Tables.Add("Orders");
DataColumn pkOrderID =
ordersTable.Columns.Add("OrderID", typeof(int));
ordersTable.Columns.Add("OrderQuantity", typeof(int));
ordersTable.Columns.Add("CompanyName", typeof(string));
ordersTable.PrimaryKey = new DataColumn[] { pkOrderID };
Dim customerOrders As New DataSet("CustomerOrders")
Dim ordersTable As DataTable = customerOrders.Tables.Add("Orders")
Dim pkOrderID As DataColumn = ordersTable.Columns.Add( _
"OrderID", Type.GetType("System.Int32"))
ordersTable.Columns.Add("OrderQuantity", Type.GetType("System.Int32"))
ordersTable.Columns.Add("CompanyName", Type.GetType("System.String"))
ordersTable.PrimaryKey = New DataColumn() {pkOrderID}
Чувствительность к регистру
В DataSet могут существовать две или несколько таблиц или связей, имеющие одинаковые имена, которые, тем не менее, состоят из символов с разными регистрами. В таких случаях ссылки по имени на таблицы и связи задаются с учетом регистра. Например, если набор DataSet данных содержит таблицы Table1 и table1, вы будете ссылать table1 по имени dataSet.Tables["Table1"], а таблица1 — dataSet.Tables["table1"]. Попытка ссылаться на любую из таблиц как dataSet.Tables["TABLE1"] создаст исключение.
Это правило учета регистра не применяется, если только одна таблица или связь имеет какое-то определенное имя. Например, если у DataSet него есть только table1, вы можете ссылаться на него с помощью dataSet.Tables["TABLE1"].
Примечание.
Указанное правило применяется без учета значения свойства CaseSensitive объекта DataSet. Свойство CaseSensitive применяется к данным в DataSet и затрагивает сортировку, поиск, фильтрацию, предписание ограничений и т. д.
Поддержка пространства имен
В версиях ADO.NET, выпущенных до версии 2.0, две таблицы не могли иметь одинаковое имя, даже если находились в разных пространствах имен. Это ограничение было снято в ADO.NET 2.0. Набор данных DataSet может содержать две таблицы, имеющие одинаковое значение свойства TableName, но различные значения свойства Namespace.