Иллюстрированный самоучитель по Visual Basic .NET

Почему ADO.NET – не ADO++

Столь короткая глава была написана с единственной целью – ориентировать читателя в нужном направлении. Ее ограниченный объем не позволит нам даже в общих чертах представить все средства для работы с базами данных в VB.NET (не говоря уже об их содержательном обсуждении).

Примечание
Чтобы увидеть, как работают элементы, связанные с данными (data-bound controls), воспользуйтесь мастером Data Form Wizard. Просмотр кода, сгенерированного этой программой, поможет вам больше узнать о возможностях VB.NET в области работы с базами данных
.


В каждой из предыдущих версий VB появлялась новая модель поддержки баз данных. VB.NET следует этой давней традиции и представляет новый способ работы с данными – ADO.NET. При ближайшем рассмотрении выясняется, что название выбрано крайне неудачно. Почему? Потому что ADO.NET просто не является следующим поколением ADO! Это совершенно новая модель, не имеющая ничего общего с классическим вариантом ADO.

В частности, для работы с результатами вам придется освоить новую объектную модель, основанную на объекте DataSet (объект ADO.NET DataSet не привязан к одной таблице и поэтому обладает значительно большими возможностями, чем, например, объект ADO RecordSet). Кроме того, модель ADO.NET:

  • проектировалась как модель с полностью автономной архитектурой (хотя классы DataAdapter, Connection, Command и DataReader остаются ориентированными на соединение);.
  • не поддерживает курсоры на стороне сервера. Динамические курсоры ADO в ней не поддерживаются;
  • базируется на языке XML [Во внутреннем представлении классов ADO.NET используется оптимизированный формат, но весь обмен данными происходит в формате XML.] (что позволяет работать через Интернет, даже если клиент находится за брандмауэром (firewall));
  • входит в сборку .NET System.Data.DLL, а не реализуется на уровне языка;
  • вряд ли будет поддерживать старые клиенты Windows 95.

Еще одна интересная особенность ADO.NET заключается в том, что для таких важных средств, как двухфазная актуализация данных (commit), потребуется использовать Enterprise Services (то есть фактически COM+/MTS с .NET-оболочкой).

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.