Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Форма для авторизации и подключения к серверу БД.Содержание книги Поиск на нашем сайте
Для подключения необходимо заполнить поля: Имя сервера, Порт, Пользователь и Пароль. Первые три значения хранятся в файле config.ini и заполняются автоматически по последним введенным Вами значениям. Пароль необходимо указывать каждый раз. Свойства формы: AutoCenter =.T. - True BorderStyle = 0 – No border Caption = ’Авторизация на сервере’ DataSession = 2 – Private Data Session Height = 170 Icon = ’fox8.ico’ MaxButton =.F. – False MinButton =.F. – False Name = ’Autoriz’ ShowWindow = 2 – As Top-Level Form Width = 297
Методы формы: Перед выводом формы на экран выполняется процедура Init: SET TALK OFF && отключить вывод промежуточных результатов IF!FILE('config.ini') && если нету файла config.ini STRTOFILE('[ZOO]','config.ini') && создать cjnfig.ini со строкой [ZOO] ENDIF path_ini=FullPath("config.ini") && имя файла config.ini с полным путем lcBuffer = SPACE(2000) && определить буффер для получения информации && читать имя сервера из config.ini в буффер lnBuffer = ReadIni("ZOO", "Server", "localhost", @lcBuffer, 2000, path_ini) IF m.lnBuffer > 0 && если длина прочитанного больше 0 thisform.sql_server.Value=LEFT(m.lcBuffer,m.lnBuffer) && выделить из буффера только имя сервера ENDIF
lcBuffer = SPACE(2000) && определить буффер для получения информации && читать номер порта из config.ini в буффер lnBuffer = ReadIni("ZOO", "Port", "5432", @lcBuffer, 2000, path_ini) IF m.lnBuffer > 0 && если длина прочитанного больше 0 thisform.port.Value=LEFT(m.lcBuffer,m.lnBuffer) && выделить из буффера только порт ENDIF
lcBuffer = SPACE(2000) && определить буффер для получения информации && читать имя пользователя из config.ini в буффер lnBuffer = ReadIni("ZOO", "User", "Borsh", @lcBuffer, 2000, path_ini) IF m.lnBuffer > 0 && если длина прочитанного больше 0 thisform.user_login.Value=LEFT(m.lcBuffer,m.lnBuffer) && выделить из буффера только имя пользователя ENDIF
DO CASE CASE EMPTY(thisform.sql_server.value) && если нету имени сервера thisform.sql_server.setfocus && установить курсор в поле сервера CASE EMPTY(thisform.port.value) && если нету порта thisform.port.setfocus && установить курсор в поле порта CASE EMPTY(thisform.user_login.value) && если нету имени пользователя thisform.user_login.setfocus && установить курсор в поле имени пользователя OTHERWISE && иначе thisform.user_pwd.setfocus && установить курсор в поле ввода пароля ENDCASE
При выводе на экран выполняется процедура Show: SetForegroundWindow(ThisForm.HWnd) && сделать окно активным
Если форму закрыть крестиком, то выполняется процедура QueryUnload: loconn =.F. && подключения нет
При закрытии формы выполняется процедура Destroy: CLEAR EVENTS чтобы программа мгла выполняться дальше.
При нажатии на кнопку «Подключить» выполняется ее процедура Click: sql_server = ALLTRIM(thisform.sql_server.value) && очистить имя сервера от лишних пробелов port = ALLTRIM(thisform.port.value) && очистить порт от лишних пробелов user_login = ALLTRIM(thisform.user_login.value) && очистить имя пользователя от лишних пробелов user_pwd = ALLTRIM(thisform.user_pwd.value) && очистить пароль от лишних пробелов
IF TYPE('loConn')='O' AND loconn.state<>0 && если соединение уже было выполнено loconn.close() && закрыть соединение ENDIF LOCAL loexception AS Exception && объявить переменную, как исключение loconn = CREATEOBJECT('ADODB.Connection') && создать объект подключения
&& составить строку для подключения loconn.connectionstring = 'DRIVER=PostgreSQL ANSI; SERVER='+sql_server+'; PORT='+port+'; DATABASE=zoopark; UID='+user_login+'; PWD='+user_pwd
TRY loconn.open() && попытаться подключиться CATCH TO loexception && если подключение не удачно loconn=.F. && подключения нет && вывести сообщение об ошибке MESSAGEBOX(loexception.message, 48, 'SQL connection error') ENDTRY IF TYPE('loConn')='O' && если соединение получилось path_ini=FullPath("config.ini") && имя файла config.ini с полным путем && записать в файл config.ini имя сервера, порт, имя пользователя = WriteIni("ZOO", "Server", sql_server, path_ini) = WriteIni("ZOO", "Port", port, path_ini) = WriteIni("ZOO", "User", user_login, path_ini) thisform.release && закрыть форму ELSE && иначе thisform.user_pwd.setfocus && перейти в поле ввода пароля ENDIF
При нажатии на кнопку «Закрыть» выполняется ее процедура Click: loconn =.F. && соединения нет thisform.release && закрыть форму
|
||
|
Последнее изменение этой страницы: 2017-01-25; просмотров: 176; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.007 с.) |