Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 71

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 65 66 67 68 69 70 < 71 > 72 73 74 75 76 77 .. 260 >> Следующая

Свойство TabieMappings возвращает объект DataTableMappingsCollectionfioaep-жащий набор объектов ЩЩЩр%Каждый обьск! DataTableMappinguo >,во-ляет сопоставить таблицу (представление, хранимую процедуру) вашей БД и соответствующее имя таблицы в объекте DataSet. Кроме того, у объекта DataTableMapping есть свойство которое возвращает объект
Collection, содержащий набор объектов DataColumnMapping. Каждый из объектов DataColumnMapping сопоставляет столбец БД со столбцом объекта DataSet.
Примечание Имя класса — самое длинное, какое мне
довелось видеть. Благодаря ч\дл технологии [iirelliSeri.se и автодополнению операторов, при работе в Visual Studio .NET мне не приходится набирать это имя полностью.
На рис. 5-2 показано, как набор TabieMappings объекта DataAdapter сопоставляет таблицу нашей БД, содержащую сведения о сотрудниках, с соответствующей таблицей объекта DataSet.
На рисунке мы сопоставляем таблицу Table 123 БД с таблицей Employees объекта DataSet, но из информации о сопоставлении следует, что сопоставлены таблица Table и Employees. Это вызвано тем, что у объекта DataAdapter нет данных о том,
с какой же таблицей БД он взаимодействует на самом деле. DataAdapter способен
посредством объекта DataReader получить из результатов запроса имена столбцов, но никаким способом ему не удастся определить имя таблицы. В результате
ГЛАВА 5 Получение данных с помощью объектов DataAdapter
1
он ::ргдл зла гает. что имя таблицы — Table, и запись изГюри '/h>'y!i-\li4/\i>//!L сопоставляет таблицы Table и Employees.
ЬД
ТаЫе123
^4
Emplo
LName
FName
Набор объектаDalaAclapte
DataSet
с Employees
EmpiD сопоставляется с; .. 4--* EmployeelD
LName с
Employees
LastName
FirstName
Рис. 5-2. Набор TableMappings объекта DataAdapter
Следующий фрагмент кода заполняет набор TableMappings объекта ПШаг для обсуждаемого нами примера.
Visual Basic NET
Dim da As OleDbDataAdapter
'Инициализируем объект DataAdapter
Dim TblHap As DataTableMapping
Dim ColHap As DataColumnMapping
ТЫМар = da. TableMappings. Add( "Table", "Employees")
ColMap = TblMap.ColumnHappings.Add("EmpID", "EmployeelD")
ColMap = ТЫМар.ColumnMappings. Add("LName", "LastName")
ColHap = ТЫМар. ColumnMappings. Add( "FName", "FirstName")
Visual C# .NET
OleDbDataAdapter da; //Инициализируем объект DataAdapter DataTableMapping ТЫМар; DataColumnMapping ColMap;
ТЫМар = da. TableMappings.AddC"Table". "Employees"); ColMap = ТЫМар. ColumnMappings. Add{"EmpID", "EmployeelD"); ColHap = ТЫМар. ColumnMappings. Add(" LName", "LastName"); ColHap = ТЫМар. ColumnMappings. Add<" FName", "FirstName");
Создание и использование объектов DataAdapter
Вы уже знаете, что представляет собой и что может объект DataAdapter, так что речь пойдет о том, как его создать и работать с ним,
Создание объекта DataAdapter
При создании объекта DataAdapter обычно следует задать его свойству Select-Command допустимый объект Command. Следующий фрагмент кода задает значение свойегка SelectCommand нового объекта DataAdapter.
140 Часть II Подключаемся: использование поставщика данных NET
Visual Basic .NET
Dim strConn As String = "Provider=SQLOLEDB; Data Source=(local)\NetSDK;" & _ "Initial Catalog=Northwind;Trusted_Connection=Yes;" Dim on As New OleDbConnection(strConn)
Dim strSQL As String = "SELECT CustomerlD, CompanyName FROM Customers" Dim cmd As New 01eDbCommand(strSQL, cn) Dim da As New OleDbDataAdapterQ da.SelectCommand = cmd
Visual C# .NET
string strConn = +
"Initial Catalog=Northwind;Trusted_Connection=Yes;"; OleObConnection cn = new OleDbConnection(EtrConn);
string strSQL = "SELECT CustomerlD, CompanyName FROM Customers"; OleDbCommand cmd = new OleDbCommandl.strSQL, cn); OleDbDataAdapter da = new OleDbDataAdapterQ; da.SelectCommand = cmd;
Конструкторы DataAdapter
У класса DataAdapter есть три конструктора, упрощающих создание объектов DataAdapter. Первый конструктор принимает строку запроса и строку подключения.
Visual Basic
Dim strConn As String = & _
"Initial Catalog=Northwind;Trusted_Connectlon=Yes;"
Dim strSQL As String = "SELECT CustomerlD, CompanyName FROM Customers" Dim da As New 01eDbDataAdapter(strSQL, strConn)
Visual C# .NET
string strConn = "rjrovider=SQLOLEDB; Data Source=(local)\\KetSDK;" +
"Initial Cataloo=Northwlnd;Trusted_Connection=Yes;"; string strSQL = "SELECT CustomerlD, CompanyName FROM Customers"; OleDbDataAdapter da = new OleDbOataAdapterCstrSQL, strConn);
В этом подходе есть потенциальный недостаток. Предположим, вы собираетесь использовать в приложении группу объектов DataAdapter. Если вы сгенерируете их показанным ранее способом, для каждого объекта ^ала'скфШ будет создан новый объект Connection. Чтобы гарантировать, что объекты DataAdapter используют один объект Connection, достаточно применить конструктор DataAdapter, принимающий строку подключения и объект Connection. Следующий фрагмент кода создает два объекта использующих один объект
Visual Basic
Dim strConn As String = &
"Initial Catalog=Northwind;Trusted_Connactlon=Yes;" Dim cn As New OleDbConnection(strConn)
Предыдущая << 1 .. 65 66 67 68 69 70 < 71 > 72 73 74 75 76 77 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100