Помогни ни да направим Uroci.net по - богат! Добави урок
Категории Други уроци Adobe Photoshop Adobe Illustrator Adobe Flash Adobe Fireworks DreamWeaver CSS и HTML Corel Draw Image Ready PHP SEO CMS Microsoft Windows Microsoft Word Microsoft Excel PowerPoint Microsoft Access Microsoft Publisher Linux Visual basic
JavaScript Ajax 3ds Max Maya 3D C++ Sound Forge Gimp SWiSH

ADO.NET

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



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

Множеството данни - DataSet е обект, който съдържа една или повече обекти таблици данни - DataTable. Команда на DataSet може да изтегля данни от база данни и да ги съхранява в таблици DataTable вътре в DataSet. В ADO.NET, множеството DataSet е колекция за една или повече таблици данни, и всяка таблица може да съдържа данни от много таблици на подлежащата база данни.

· Обект Таблица данни - DataTable

Може лесно да добавим DataTable от източник на данни или да създадем наша собствена таблица (DataTable) в дадено множество DataSet.За да създадем и запълним DataSet, първо трябва да създадем обект DataSetAdapter и после да поставим референтна връзка обратно към OleDbCommand или SqlCommand които провеждат записите. Може да осъществите това с кода:

Dim dsCommand As New OleDbDataAdapter ()

dsCommand.SelectCommand = myComm

Обектът DataSetAdapter има метод Fill, който актуално изпълнява инструкцията в командния обект. След това трябва да създадете обекта DataSet. След това да извикате метод Fill на DataSetAdapter и да подадете на това ново множество DataSet единия параметър. Вторият параметър е името на таблицата DataTable вътре в DataSet , която ще бъде създадена от DataSetAdapter. Въведете следния код за създаване на таблица данни от команда DataSetCommand вътре в DataSet:

Dim dsDascali As New DataSet()

dsCommand.Fill (dsDascali, "Dascali")

Когато се изпълнява този код, се създава таблица вътре в DataSet. Тази таблица тук е именована Dascali, но би могла да има всякакво име. Когато извикате Fill, ако името на таблицата, която сте спесифицирали не съществува, то се създава автоматично. Всички обекти са независими един от друг. Ако имате много таблици в DataSet, може даже да дефинирате партньорски връзки (relationships) между тях. Мислете за вашето DataSet като за миниатюрна база данни в паметта. Можете да вмъквате (insert), актуализирате (update) и изтривате (delete) записи в таблиците на DataSet. Тези промени могат да бъдат направени опционално обратно в подлежащата база данни. За да видим стойностите на таблица в DataSet, трябва да минем през редица колекции и свойства. Примерно, вие имате таблица на даскалите в училище Dascali в DataSet. Ако искате да получите първия запис (record zero) и второто поле (field 1, DascaloName) вашият код ще е:

msgbox(dsDascalo.Tables.Item("Dascali").Rows(0).Item("DascaloName").ToString)

Вместо Tables.Item("Dascali") може да използвате Tables.Item(0). След това спесифицирате първия ред и поле DascaloName. Бихте могли и така Rows(0).Item(1). След това добавяте метод ToString за да конвертирате стойността изрично в стринг. Синтаксисът е: msgbox(dsDascalo.Tables.Dascali.Rows(0). DascaloName.ToString)


· Обект DataRow

Алтернативно може да създадете обект DataRow. Ето и примерния цикъл:



Dim drDascal As DataRow

For Each drDascal In dsDascali.Tables.Item("Dascali").Rows

MsgBox(drDascal.Item("DascaloName").ToString)

Exit For

Next

Отново прекъсваме с Exit за да не минаваме през всички записи на даскали. Както можете да видите в кода, просто използваме обект DataRow да сочи отделните редове, а след това можем да достигнем до необходимите полета. Eто и комплектния код:


Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


Dim sConnString As String = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1; Data Source = ""C:DataBasesDascalo.mdb""; Jet OLEDB:Engine Type = 5 ; Provider = ""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB : SFP = False ;persist security info=False;Extended Properties=;Mode=Share Deny None;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database = False ; Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1"


Dim myConn As New OleDbConnection

myConn.ConnectionString = sConnString

myConn.Open()

Dim sqlStatement As String = "SELECT Oblast FROM Dascali"

Dim myComm As OleDbCommand = New OleDbCommand(sqlStatement, myConn)

Dim myReader As OleDbDataReader = Nothing

Dim dsCommand As New OleDbDataAdapter

dsCommand.SelectCommand = myComm

Dim dsDascali As New DataSet

dsCommand.Fill(dsDascali, "Dascali")

MsgBox(dsDascali.Tables.Item("Dascali").Rows(0).Item("Oblast").ToString)

Dim drDascali As DataRow



For Each drDascali In dsDascali.Tables.Item("Dascali").Rows

MsgBox(drDascali.Item("Oblast").ToString)

Exit For

Next


End Sub


End Class


· Обект DataView

Можем да създадем множество изгледи от дадена таблица с помощта на обекта DataView. Обектът DataView е проектиран така, че да може да се свързва към Windows форма или към Web форма.


Фигура 101 Компонентите данни на ADO.NET



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

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

реклама

© Всички права запазени. 2006-2008. Created by: Site.bg
Препоръчваме: IT Новини | Кино и игри | Диплома.бг | Paparak.bg | Тунинг Портал | uchenik.com | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | AnimeS-bg.com | Фото Форум | Запознанства | Мрежа от приятели | IT Light | Spodeli.net | Фото-Култ | IDG.BG | Teenproblem.net | Блог - Образование | Fresh-BG.com | Hanovete.com | Bulfleet.com | Mythlands.com | Ohoboho.com | Казанлък.Com | News24 | Setcom.bg | Atol.bg | Elmaz.com | MobileBulgaria.com