|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Убрать ошибки подключения к БД
Дайте пожалуйста кусок кода чтоб убрать ошибки подключения к БД. Например ошибка 10051 или 10060 (недоступен сервер майскл). Спасибо
|
#2
|
|||
|
|||
для начала хотябы эту ошибку
|
#3
|
||||
|
||||
так это сообщение отладчика
Пишу программы за еду. __________________ |
#4
|
|||
|
|||
ошибка "SQL ERROR: Unknown MySQL server host (11001)"
|
#5
|
||||
|
||||
Поместите секцию подключения к БД в try except. Отладчик все равно будет ругаться, если вы ему не запретите это делать, а вот программа будет нормально обрабатывать исключение без ругани.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
Цитата:
вот именно это и прошу) напишите пример что и куда поместить |
#7
|
|||
|
|||
Сделал вот так
Код:
try ZConnection1.Connected := true; except ShowMessage('Нет связи с сервером'); end; Как проверить что вызывает эту ошибку? Может OnAfterConnect? |
#8
|
|||
|
|||
Все понял. В Try просто нужно было брать весь код связан с sql-запросом
Код:
procedure TForm1.log_buttonClick(Sender: TObject); begin try ZConnection1.Connected := true; ZQuery1.Connection:= ZConnection1; userName:= userid.Text; ZQuery1.SQL.clear; ZQuery1.SQL.ADD('SELECT * FROM `users` WHERE `userid` ="'+userName+'"'); ZQuery1.Active:=TRUE; pass:= ZQuery1.FieldByName('password').AsString; if (pass = Form1.password.text) then begin Form1.Hide; Form2.Show; // Form2.user.Caption:= zquery1.FieldByName('id').AsString; end else ShowMessage('Не верный логин или пароль'); except ShowMessage('Нет связи с сервером'); end; end; Еще 2 вопроса. Достаточно одного подключения к БД на всю программу или желательно на каждой форме создавать? И обязательно ли закрывать SQL-запросы после выполнения? |
#9
|
||||
|
||||
Дело в том, что каждое подключение создает свой независимый закрытый сеанс. И если вам захочется использовать одновременно данные из двух разных сеансов, вы столкнетесь с весьма большими проблемами. Поэтому делается обычно одно подключение на одно приложение.
Если результат запроса вам более не нужен, то смело закрывайте его. Вполне нормальная ситуация, когда в течении работы приложения имеется один постоянно открытый набор данных и к этому набору обращаются куча запросов, каждый из которых закрывается после выполнения. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
chellas88 (10.01.2016)
|