KNOW INTUIT, Лекция, Свързване към база данни на Microsoft SQL Server

Обработка на изключения

Свързването с базата данни е едно от слабите места на програмата. Поради различни причини клиентът може да не може да получи достъп до базата данни. Следователно, когато създавате приложение, не забравяйте да включите обработка на изключения и възможност за предоставяне на информация на потребителя за тях.

Класовете SqlException и SqlErro се използват за получаване на персонализирани съобщения, когато има грешки при свързване към база данни на Microsoft SQL Server. Обектите от тези класове могат да се използват за прихващане на номера на грешки, върнати от базата данни (Таблица 4.2):

Таблица 4.2. SQL Serverгрешки Номер на грешка Описание
17Невалидно име на сървъра
4060Невалидно име на база данни
18456Името или паролата която сте въвели е грешна

Освен това се въвеждат нива на грешка на SQL Server, за да се характеризира причината за проблема и неговата сложност (Таблица 4.3):

Таблица 4.3. Нива на грешка на SQL ServerВърната стойност Интервал Описание Действие
11-16Грешка, генерирана от потребителяПотребителят трябва да въведе отново правилните данни
17-19Софтуерни или хардуерни грешкиПотребителят може да продължи да работи, но някои заявки няма да бъдат налични. Връзката остава отворена
20-25Софтуерни или хардуерни грешкиСървърът затваря връзката. Потребителят трябва да го отвори отново

Създайте ново Windows приложение и го наименувайте „ExceptionsSQL“. Задайте свойството Размер на формуляра на "600;380". Добавяне на контрола към формуляраDataGrid, неговото свойство Dock е зададено на "Fill". Плъзнете елемента Panel, дефинирайте следните свойства:

panel1, стойност на свойството
Доквярно
местоположение392; 0
размер200; 346

На панела поставяме четири текстови полета, надпис и бутон:

textBox1, стойност на свойството
ИмеtxtDataSource
местоположение8; 8
размер184; 20
ТекстВъведете име на сървъра
textBox2, стойност на свойството
ИмеtxtInitialCatalog
местоположение8; 40
размер184; 20
ТекстВъведете име на база данни
textBox3, стойност на свойството
ИмеtxtUserID
местоположение8; 72
размер184; 20
ТекстВъведете потребителско име
textBox4, стойност на свойството
ИмеtxtPassword
местоположение8; 104
размер184; 20
ТекстВъведете парола 1 За да скриете паролата, докато пишете, можете да въведете заместващ знак, като например звездичка ("*"), в свойството "PasswordChar" на текстовото поле.
label1, стойност на свойството
местоположение16; 136
размер176; 160
Текст
button1, стойност на свойството
ИмеbtnConnect
местоположение56; 312
размер96; 23
ТекстСъединение

Интерфейсът на приложението е готов.Свързваме пространството от имена за работа с базата данни:

Поставяме ADO .NET обектите и целия блок за обработка на изключения в манипулатора на бутона "Свързване":

know

В софтуера на курса ще намерите приложението Exceptions SQL (Code\Glava2\ExceptionsSQL).

Копирайте папката на приложението ExceptionsSQL и я наименувайте „ExceptionsMDB“. Премахваме съществуващите текстови полета от панела на формата и добавяме три нови:

textBox1, стойност на свойството
ИмеtxtDataBasePassword
местоположение8; 16
размер184; 20
ТекстВъведете парола за база данни
textBox2, стойност на свойството
ИмеtxtUserID
местоположение8; 48
размер184; 20
ТекстВъведете потребителско име
textBox3, стойност на свойството
ИмеTxtPassword
местоположение8; 80
размер184; 20
ТекстВъведете потребителска парола

Променете пространството от имена, за да работите с базата данни:

Манипулаторът на бутона "Свързване" ще изглежда така:

Стартираме приложението (фиг. 4.12). Свойството Message връща причината за грешката на български, тъй като е инсталирана българската версия на Microsoft Office 2003. Свойството NativeError (вътрешна грешка) връща номера на изключение, генериран от самия източник на данни. Заедно или отделно със свойството SQL State, те могат да се използват за създаване на превключвател, който предоставя на потребителя разширена информация (направихме това в приложението ExceptionsSQL).

know

В допълнение към обработката на изключения, тук трябва да обърнете вниманиекъм интерфейс, който позволява на потребителя да въвежда информация за своя акаунт. Сега, от съображения за сигурност, приложението не трябва да включва парола в кода, когато използва съветници, тъй като низът за връзка ще се генерира динамично. Разбира се, вашето приложение може да има различен интерфейс - например прозорецът за връзка ще се появи в дъщерна форма.

В софтуера на курса ще намерите приложението Exceptions MDB (Code\Glava2\ExceptionsMDB).