Помогни ни да направим 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   трудност:    видян: 3131



· Команди OleDbCommand и SqlCommand

Когато извикате метод Open, отваряте връзката (connection) към базата данни. Сега се нуждаете да създадете команда да стартира отново базата данни. Това става чрез обект OleDbCommand (или SqlCommand обект ако използвате връзка SqlConnection).

Dim cmdSqlCommand As SqlCommand = New _

SqlCommand("SELECT StateCode, StateName, FirstZipCode FROM States", sqlConn)



За OleDbCommand добавете следния код към процедурата вдясно след команда myConn.Open:

Dim sqlStatement As String = "SELECT * FROM States"

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

За втория ред, бихте могли да използвате този алтернативен синтаксис:

Dim myComm As New OleDbCommand ()

myComm.CommandText = sqlStatement

myComm.ActiveConnection = myComm

Като създавате обект Command задавате sqlStatement конструкцията, която да бъде изпълнена на източника на данни като първи параметър и обекта за конекция myConn като втори. Виждате мощта на конструктора. Вие стабилизирахте връзката към базата данни, и създадохте команда за получаване на записите. Както в ADO, вие не можете да съхраните тези записи във връзка (connection) или в команда (command). Наместо това трябва да имате обект, който да държи тези записи.

· Четец на данни - DataReader

ADO.NET поддържа няколко начина за достъп да записи, които са резултат на сечение. Единият е множеството от данни DataSet , което вече изпробвахте. Но, ако данните са много, а не искате да се заема толкова памет? ADO.NET обезпечава друг обект, наречен DataReader. Обектът DataReader е точно това: четец на данни. Той чете по един запис данни наведнаж, само напред (forward-only), поток само за четене (read-only stream). Това ви позволява да изпробвате един запис и след това да се преместите на следващия. По едно и също време само един запис е в паметта, така че силно намалява използваната памет.

Dim drSqlDataReader As SqlDataReader = _

cmdSqlCommand.ExecuteReader()





Console.WriteLine("---------")

Do While drSqlDataReader.Read()

Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", _

drSqlDataReader.Item(0).ToString(), _

drSqlDataReader.GetString(1))

Loop



drSqlDataReader.Close()

sqlConn.Close()

За OleDbDataReader следният код определя DataReader и след това въвежда цикъл, който ни предоставя всеки запис. Кодът всъщност прекъсва (exits) цикъла след първия път, така че няма да гледате 52 съобщения (message boxes).



Dim myReader As OleDbDataReader = Nothing

myReader = myComm.ExecuteReader()

While myReader.Read

MsgBox(myReader.GetString(1))

Exit While

End While

Методът GetString връща низова стойност за индексирано поле. Понеже стартираме от 0, полето с индекс 1 е StateName. Трябва да използвате коректния Get метод, от GetString, GetBoolean, и GetDateTime. Съществува също и GetDataTypeName за да изследвате типа данни на конкретно поле. Ако решите да стартирате примера, не забравяйте да прегледате резултатите от проекта.


Резултати от програмата в прозореца Output(Debug), който представлява конзолата в режим на дизайн:

AK Alaska
AL Alabama

AR Arkansas

AZ Arizona

CA California

CO Colorado

CT Connecticut

DC District of Columbia

DE Delaware

FL Florida

GA Georgia

HI Hawaii

IA Iowa

ID Idaho

IL Illinois

IN Indiana

KS Kansas
KY Kentucky

LA Lousiana

MD Maryland

ME Maine

MI Michigan

MN Minnesota

MO Missouri

MS Mississippi

MT Montana

NC North Carolina

ND North Dakota

NE Nebraska

NH New Hampshire

NJ New Jersey

NM New Mexico

NV Nevada

NY New York

OH Ohio
OK Oklahoma

OR Oregon

MA Massachusetts

PA Pennsylvania

RI Rhode Island

SC South Carolina

SD South Dakota

TN Tennessee

TX Texas

UT Utah

VA Virginia

VI Virgin Islands

VT Vermont

WA Washington

WI Wisconsin

WV West Virginia

WY Wyoming

Този начин работи добре ако използвате последователно записите и ако трябва да пестите ресурси. Ако искате да скролирате през данните и да правите промени в тях, трябва да съхранявате данните в DataSet.


Страници: «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