Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Клиент-серверное приложение на MYSQL, Как правильно написать 
:(
    Опции темы
ALEXK
Дата 26.6.2005, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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;
PM MAIL   Вверх
Kesh
Дата 26.6.2005, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Не совсем понятно, в чем вопрос...
В статье описывается двухуровневая клиент-серверная архитектура, т.е. Есть Серверная часть - Сервер базы данных, есть клиентская часть - приложение на Delphi... Вся фишка заключается в том, что информация обрабатывается сервером базы данных, а в программу возвращается только необходимый набор данных, чем экономятся ресурсы клиентской машины и сетевой траффик. При работе с локальной базой данных все вычисления идут непосредственно на самой машине вне зависимости от того, где лежат файлы Базы... Вот и все отличие...

P.S. Ну это, конечно, сильно упрощенное изложение...

P.S.S. Есть еще трехуровневая клиент-серверная архитектура... Сервер базы данных - сервер приложений - клиентская часть... Оно куда более интересней... smile


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
ALEXK
Дата 28.6.2005, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.6.2005

Репутация: нет
Всего: нет



КАК конкретно выглядит клиент-серверное приложение на Delphi для MYSQL?

Запущен сервер базы данных (MYSQL). Не важно где, на локальной машине или где то в сети.
Приведенный мной код выполняется независимо от того где сервер.

"...Вся фишка заключается в том, что информация обрабатывается сервером базы данных, а в программу возвращается только необходимый набор данных.. "

Это что значит? Какая информация?

Что понимается под сервером базы данных? Cервер MYSQL, или специальная программа написанная мной, работающая на сервере с МОЕЙ БАЗОЙ ДАННЫХ.

Допустим мне надо выполнить запрос, обработать (сделать что-то что нельзя сделать средствами SQL) возвращаемые им записи и получить итоговый результат. Вот эта специфическая обработка результатов запроса где делается в двухуровневом клиент-серверном приложении?






PM MAIL   Вверх
Kesh
Дата 28.6.2005, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Цитата(ALEXK @ 28.6.2005, 19:29)
КАК конкретно выглядит клиент-серверное приложение на Delphi для MYSQL?

Это зависит от целей приложения...

Цитата(ALEXK @ 28.6.2005, 19:29)
Запущен сервер базы данных (MYSQL). Не важно где, на локальной машине или где то в сети.
Приведенный мной код выполняется независимо от того где сервер.

Сервер указывается здесь...
Код
ZOOb.HOST :='ServerName';


Цитата(ALEXK @ 28.6.2005, 19:29)
Это что значит? Какая информация?

Ты составляешь запрос на выборку...
Код
STRSQL1 := 'select * from Table1 where Field1=' + inttostr(FunctParam1);

Ищешь какую-то информацию в таблице... На сервер базы данных (он же сервер MySQL) отправляется только этот запрос (несколько байт)... Сервер ворочает таблицу взад и вперед - ищет нужную тебе запись... Заметь, что тебе не надо думать, где ее искать (физически на диске), как ее искать (как быстрее найти то, что тебе нужно)... - обо всем этом заботится серверная часть приложения... А тебе возвращается только результат запроса (опять же несколько байт)... Отсюда экономия траффика...

Цитата(ALEXK @ 28.6.2005, 19:29)
Что понимается под сервером базы данных? Cервер MYSQL, или специальная программа написанная мной, работающая на сервере с МОЕЙ БАЗОЙ ДАННЫХ.

Серверная часть программы - сервер базы данных (он же MySQL), клиентская часть программы - твое приложение...

Цитата(ALEXK @ 28.6.2005, 19:29)
Допустим мне надо выполнить запрос, обработать (сделать что-то что нельзя сделать средствами SQL) возвращаемые им записи и получить итоговый результат. Вот эта специфическая обработка результатов запроса где делается в двухуровневом клиент-серверном приложении?
Обработка результатов запроса делается на клиентской части (двухуровневая архитектура) либо на сервере приложений (трехуровневая архитектура)...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.