KNOW INTUIT, Лекция, Свързване към база данни на Microsoft SQL Server
Обработка на изключения
Свързването с базата данни е едно от слабите места на програмата. Поради различни причини клиентът може да не може да получи достъп до базата данни. Следователно, когато създавате приложение, не забравяйте да включите обработка на изключения и възможност за предоставяне на информация на потребителя за тях.
Класовете SqlException и SqlErro се използват за получаване на персонализирани съобщения, когато има грешки при свързване към база данни на Microsoft SQL Server. Обектите от тези класове могат да се използват за прихващане на номера на грешки, върнати от базата данни (Таблица 4.2):
17 | Невалидно име на сървъра |
4060 | Невалидно име на база данни |
18456 | Името или паролата която сте въвели е грешна |
Освен това се въвеждат нива на грешка на SQL Server, за да се характеризира причината за проблема и неговата сложност (Таблица 4.3):
11-16 | Грешка, генерирана от потребителя | Потребителят трябва да въведе отново правилните данни |
17-19 | Софтуерни или хардуерни грешки | Потребителят може да продължи да работи, но някои заявки няма да бъдат налични. Връзката остава отворена |
20-25 | Софтуерни или хардуерни грешки | Сървърът затваря връзката. Потребителят трябва да го отвори отново |
Създайте ново Windows приложение и го наименувайте „ExceptionsSQL“. Задайте свойството Размер на формуляра на "600;380". Добавяне на контрола към формуляраDataGrid, неговото свойство Dock е зададено на "Fill". Плъзнете елемента Panel, дефинирайте следните свойства:
Док | вярно |
местоположение | 392; 0 |
размер | 200; 346 |
На панела поставяме четири текстови полета, надпис и бутон:
Име | txtDataSource |
местоположение | 8; 8 |
размер | 184; 20 |
Текст | Въведете име на сървъра |
Име | txtInitialCatalog |
местоположение | 8; 40 |
размер | 184; 20 |
Текст | Въведете име на база данни |
Име | txtUserID |
местоположение | 8; 72 |
размер | 184; 20 |
Текст | Въведете потребителско име |
Име | txtPassword |
местоположение | 8; 104 |
размер | 184; 20 |
Текст | Въведете парола 1 За да скриете паролата, докато пишете, можете да въведете заместващ знак, като например звездичка ("*"), в свойството "PasswordChar" на текстовото поле. |
местоположение | 16; 136 |
размер | 176; 160 |
Текст |
Име | btnConnect |
местоположение | 56; 312 |
размер | 96; 23 |
Текст | Съединение |
Интерфейсът на приложението е готов.Свързваме пространството от имена за работа с базата данни:
Поставяме ADO .NET обектите и целия блок за обработка на изключения в манипулатора на бутона "Свързване":

В софтуера на курса ще намерите приложението Exceptions SQL (Code\Glava2\ExceptionsSQL).
Копирайте папката на приложението ExceptionsSQL и я наименувайте „ExceptionsMDB“. Премахваме съществуващите текстови полета от панела на формата и добавяме три нови:
Име | txtDataBasePassword |
местоположение | 8; 16 |
размер | 184; 20 |
Текст | Въведете парола за база данни |
Име | txtUserID |
местоположение | 8; 48 |
размер | 184; 20 |
Текст | Въведете потребителско име |
Име | TxtPassword |
местоположение | 8; 80 |
размер | 184; 20 |
Текст | Въведете потребителска парола |
Променете пространството от имена, за да работите с базата данни:
Манипулаторът на бутона "Свързване" ще изглежда така:
Стартираме приложението (фиг. 4.12). Свойството Message връща причината за грешката на български, тъй като е инсталирана българската версия на Microsoft Office 2003. Свойството NativeError (вътрешна грешка) връща номера на изключение, генериран от самия източник на данни. Заедно или отделно със свойството SQL State, те могат да се използват за създаване на превключвател, който предоставя на потребителя разширена информация (направихме това в приложението ExceptionsSQL).

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