![]() |
|
Модераторы: skyboy |
![]()
|
|
| ALEXK |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 19.6.2005 Репутация: нет Всего: нет |
Прочитал статью
"Переходим на клиент-сервер (советы)" ( http://forum.vingrad.ru/index.php?act=modu...icle_num=002171 ) но абсолютно не понял КАК выглядит именно клиент-серверное приложение на Delphi для MYSQL. function FFFFFF(FunctParam1: integer): boolean; var ZOOb: TZMySqlDatabase; TOOb: TZMySqlTransact; QOOb: TZMySqlQuery; STRSQL1: string; begin ZOOb := TZMySqlDatabase.create(self); TOOb := TZMySqlTransact.Create(self); QOOb := TZMySqlQuery.Create(self); ZOOb.HOST :='ServerName'; ZOOb.Database := 'DBName'; ZOOb.Login := 'UserLogin'; ZOOb.Connected := true; TOOb.Database := ZOOb; QOOb.Database := zOOb; qOOb.Transaction := TOOb; qOOb.RequestLive := false; qOOb.Sql.Clear(); STRSQL1 := 'select * from Table1 where Field1=' + inttostr(FunctParam1); qOOb.Sql.Add(STRSQL1); qOOb.Open; result:= false; while (not qOb.Eof) do begin KodObP4 := qOb.FieldByName('OKEY').AsInteger; FlAll := false; // частично попадающие FlPath := True; // исключая дырки InGr := mappl.CheckObjectInContour(LayData.MapplKod[NomSloy], KodObP4, LayData.MapplKod[KodSl], KodOb, FlAll, FlPath); if InGr then begin Result := qOb.FieldByName('IdTipEl').AsInteger; qOb.Close; ZOb.Connected := false; QOb.Free; TOb.Free; ZOb.Free; exit; end; qob.Next; end; if QOOb.locate('OKEY', OkeyOsi, []) = true then OsEst := true; qOOb.Close; ZOOb.Connected := false; QOOb.Free; TOOb.Free; ZOOb.Free; end; |
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
Не совсем понятно, в чем вопрос...
В статье описывается двухуровневая клиент-серверная архитектура, т.е. Есть Серверная часть - Сервер базы данных, есть клиентская часть - приложение на Delphi... Вся фишка заключается в том, что информация обрабатывается сервером базы данных, а в программу возвращается только необходимый набор данных, чем экономятся ресурсы клиентской машины и сетевой траффик. При работе с локальной базой данных все вычисления идут непосредственно на самой машине вне зависимости от того, где лежат файлы Базы... Вот и все отличие... P.S. Ну это, конечно, сильно упрощенное изложение... P.S.S. Есть еще трехуровневая клиент-серверная архитектура... Сервер базы данных - сервер приложений - клиентская часть... Оно куда более интересней... -------------------- ![]() |
|||
|
||||
| ALEXK |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 19.6.2005 Репутация: нет Всего: нет |
КАК конкретно выглядит клиент-серверное приложение на Delphi для MYSQL?
Запущен сервер базы данных (MYSQL). Не важно где, на локальной машине или где то в сети. Приведенный мной код выполняется независимо от того где сервер. "...Вся фишка заключается в том, что информация обрабатывается сервером базы данных, а в программу возвращается только необходимый набор данных.. " Это что значит? Какая информация? Что понимается под сервером базы данных? Cервер MYSQL, или специальная программа написанная мной, работающая на сервере с МОЕЙ БАЗОЙ ДАННЫХ. Допустим мне надо выполнить запрос, обработать (сделать что-то что нельзя сделать средствами SQL) возвращаемые им записи и получить итоговый результат. Вот эта специфическая обработка результатов запроса где делается в двухуровневом клиент-серверном приложении? |
|||
|
||||
| Kesh |
|
||||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
Это зависит от целей приложения...
Сервер указывается здесь...
Ты составляешь запрос на выборку...
Ищешь какую-то информацию в таблице... На сервер базы данных (он же сервер MySQL) отправляется только этот запрос (несколько байт)... Сервер ворочает таблицу взад и вперед - ищет нужную тебе запись... Заметь, что тебе не надо думать, где ее искать (физически на диске), как ее искать (как быстрее найти то, что тебе нужно)... - обо всем этом заботится серверная часть приложения... А тебе возвращается только результат запроса (опять же несколько байт)... Отсюда экономия траффика...
Серверная часть программы - сервер базы данных (он же MySQL), клиентская часть программы - твое приложение...
-------------------- ![]() |
||||||||||||||
|
|||||||||||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |