Помогни ни да направим Uroci.net по - богат! Добави урок

ADO.NET

bubust   трудност:    видян: 11333

Дотолкова, доколкото цялото ви програмиране е около извеждането на данни във формата, разгледахме процеса. Това се окомплектова около свързването на контроли към DataSet. Вие не сте кодирали за обектите ADO.NET. Трябва да можете да използвате тези ADO.NET в компонентите, които нямат потребителски интерфейс. Затова е важно да се разберат някои неща за ADO.NET контролите и тяхното действие.



- Несвързана архитектура за работа с бази данни



Както много пъти вече споменахме, ADO.NET използва несвързана архитектура да оперира с данни. Има основание за това, защото традиционните апликации с отворена връзка с база данни не могат да се разгръщат добре. Ако компонента отвори връзката с базата данни и я държи отворена през целия живот на апликацията, а я използва само за няколко процента, това е разхищение на ресурси. Освен това, ако са много потребителите с техните отворени връзки, в един момент поведението на базата данни е негативно. По тези причини, Microsoft реши да използва несвързаната архитектура за ADO.NET.

Това не само решава проблема с разширяването чрез редуциране броя на активните връзки, но прави много лесен трансфера на данни от един компонент към друг. Не е необходимо и двата компонента да се свързват към базата данни, нито дори е нужно и двата да разбират от двоичен формат на данните, както ще видим в момента.


Фигура
99 ADO.NET класовете.

И още нещо, Microsoft разпозна, че в повечето програми днес се работи с несвързана апликационна архитектура, благодарение на Web. Мислете за типичната Web апликация: Потребителят изисква страницата и страницата се генерира на сървъра като микс от HTML и данни от база данни. По времето когато страницата се изпраща на потребителя и се разполага в неговия браузър, връзката към базата данни повече не е нужна. По тази причина, ако е нужна една секунда да се разположи страницата, но потребителят я разглежда двадесет и девет секунди, връзката с базата данни се използва само една тридесета част от общото време, за което е ползвана страницата. Ако се нуждаете от свързана архитектура (connected architecture), Microsoft ви препоръчва да използвате ADO.

- Множества данни - DataSets



Фигура100 System Data пространството от имена


Основно пространство от имена за работа с бази данни е System Data. ADO.NET използва множество данни - DataSet за съхраняване на несвързани данни. Тази нова структура е подобна на ADO recordset, но има и съществени различия. Множеството записи ADO recordset изглежда като отделна таблица, даже и данните да идват от различни таблици. Крайното множество от записи - recordset е само редове и колони. Докато множеството данни - DataSet, може да съхрани множество таблици в своя кеш. Може да дефинирате партньорските връзки (relationships) между тези таблици, а след това да четете от индивидуалните таблици или от свързаните таблици и да получавате данни. По своята същност, множеството DataSet, работи като миниатюрно копие на базата данни, въпреки че съдържа малко подмножество от данни или таблици. Множеството данни DataSet не знае нищо за подлежащата база данни.

Фактически, много подлежащи бази данни може да създават данните в DataSet. Няма никакви пречки, част от данните да идват от SQL Server докато друга част от Oracle. Друг обект, адаптерът DataSet adapter, държи информацията относно връзките с подлежащите бази данни. Адаптерът на множеството данни - DataSet adapter има методи, които ви позволяват да получавате и актуализирате данни, но тези методи зависят от вас, да подберете необходимите инструкции - SQL statements или имена на процедурите. Множествата данни знаят всичко за XML. Ако трябва да подадете данните на DataSet от един компонент на друг, те се предават използвайки XML. Ако искате да запишете DataSet на диск, за да получите данните по-късно, те се съхраняват в XML формат. ADO.NET използва XML защото е стандартен формат, и всеки консуматор, който разбира XML може да използва XML поток, транформирайки го в какъвто формат желае. XML, e текстово базиран формат и може да се консумира от всяка платформа. Фактът, че XML е текст означава, че е лесно да се направи трансфер през HTTP.


- Работа с обекти ADO.NET Objects

Съществуват редица нови обекти в ADO.NET , които са различни от това, което използваха ADO разработчиците. Някои от обектите звучат подобно на имената на ADO обектите, но не смесвайте нещата. При ADO.NET, е важно да се разбере как да се правят връзките с базите данни, и как се изпълняват инструкциите за запълване (end up filling) в DataSet.

· Връзки (Connections): oleDbConnection и SQLConnection

Обектът oleDbConnection използва OLE DB за свързване към източника на данни. ADO.NET също включва нов тип връзка: SQLConnection. Тя работи като обект oleDbConnection, но не използва OLE DB. Вместо това, SQLConnection използва нейтив драйвер (native driver) за връзка с SQL Server и предлага по-добра преработка от OLE DB provider (обезпечител). Свързването с източника на данни е праволинеен процес: Дефиниране на стринга за връзка (connection string), създаване на обект за връзка (connection object), и отваряне на връзката (open connection).

Отворете нов проект и го наречете SQLConnDataReaderDemo, с Windows форма с име Form1.vb. Засега, само добавете бутон към формата с надпис &GetData и име btnGetData. След това с двукратно кликване отворете прозореца за кода. Отидете в началото на прозореца за кода и въведете следния ред код:



Imports System.Data

Imports System.Data.SqlClient

Imports System


Сега, в процедурата за събитието на бутона click, добавете следния код:


Private Sub btnGetData_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnGetData.Click



'може да се наложи да присъедините следната връзка - connection

' с вашите параметри за Microsoft SQL Server connection



Dim sqlConn As SqlConnection = New _

SqlConnection("Initial Catalog=Payable_Data;" & _

"Data Source=IK-NK0YFP6JWVL1;Integrated Security=SSPI")

sqlConn.Open()

End Sub

Ако използваме oleDbConnection ще бъде така:



Imports System.Data.OleDb

Сега, в процедурата за събитието на бутона click, добавете следния код:



Dim connString As String = _

"Provider= SQLOLEDB.1;Data Source= IK-NK0YFP6JWVL1;" & _

"uid=sa;pwd=;Initial Catalog= Payable_Data;"

Dim myConn As New oleDbConnection()

myConn.ConnectionString = connString

myConn.Open()

Главното свойство на обект конекция е ConnectionString. Това свойство се състои от двойки атрибут - стойност. В тях се намира информацията за насочване към конкретна база данни и влизането в нея (log on). Най-често срещани двойки атрибут - стойност са: сървърът, ID на потребителя, паролата и източника на данни.

Не забравяйте да смените connection string да съвпада с вашата среда както е нужно. Значи, би следвало да напишете втория и третия ред така:



Dim myConn As OleDbConnection = New oleDbConnection(sConnString)


Страници: 1 2 3 »

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com