0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 3

Клиент-серверная БД

04.05.2012, 11:56. Показов 3204. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Разрабатываю клиент-серверную СУБД. Сама БД хранится в файле *.mdb, Серверная часть подключается к файлу с помощью TADOConnection. Клиент и сервер общаются по TCP. От клиента я передаю SQL запрос, который сервер принимает в TADOQuery. Запрос срабатывает. Но что мне передавать в ответ клиенту? Точней какой именно объект послать, чтобы клиент принял его и дальше на стороне клиента можно было отображать данные и тд.
Также вопрос к тем, кто уже сталкивался с этой темой: правильно ли я организовал работу между клиентом и сервером? Или всеже может стоит не SQL запрос посылать, а иначе общаться между ними?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.05.2012, 11:56
Ответы с готовыми решениями:

Клиент-серверная рисовалка, найти ошибку в коде
Решил попробовать написать обычную "рисовалку". Принцип прост: 1 человек водит мышкой по форме и у всех рисуется. В итоге написал так,...

Клиент-серверная БД
Какую СУБД взять для реализации Клиент серверной БД, какая лучше подойдёт для Delphi? Первый раз создаю БД, поэтому не судите строго

Клиент-серверная архитектура
Можно ли организовать посредством PHP клиент-серверную архитектуру для связи с БД, на одном компьютере локально?.Т.е клиент, сервер и база...

4
95 / 64 / 5
Регистрация: 03.07.2011
Сообщений: 148
04.05.2012, 12:41
О каком объекте идет речь? Выполнив запрос на выборку, вы по сути получаете таблицу....вот ее и переслать.
0
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 3
05.05.2012, 10:45  [ТС]
Допустим это запрос выборки. Я получил таблицу. Но как её отправить? В каком виде?

З.Ы. Я имею опыт работы в C++ Builder'e, клиент-серверные приложения писал, но с БД мало работал, а разрабатывать клиент-серверную СУБД вабще пока не приходилось. Обычно подобные задачи решались с помощью РНР, но тут клиенту надо именно на С++ и мало того именно с VCL. Вобщем моя проблема в том, что я не совсем представляю как передать результаты запроса (пусть туже таблицу) клиенту, можно создать класс "запись", и передать клиенту массив объектов "записей", но я надеюсь можно както один объект кинуть клиенту, а из него отобразить данные на форму. Потому как вариант с написанием класса "запись" означает, что для каждой таблицы будет свой класс, у всех же поля разные по типам и количеству полей.
0
95 / 64 / 5
Регистрация: 03.07.2011
Сообщений: 148
05.05.2012, 15:22
Самое-самое простое - каждую запись из получившейся выборки выгрузить в строку, разделив поля например табуляцией и эти строки передавать...Только разработать сигнализацию - если передается такая-то строка, то это начала передачи, такая-то - окончание. У меня не такие объемы большие, я реализовывал общение между компами посредством TIdTCPServer и TIdTCPClient. А на стороне клиента распарсить эти строки. На стороне сервера подобие такого
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   ADOQuery1->Open();
   AnsiString asStr2;
   for (int i = 0; i < ADOQuery1->FieldCount; i++)
      asStr2 += ADOQuery1->Fields->Fields[i]->FieldName + "\x9";
   //asStr2 - строка с названиями полей, отправляем ее клиенту
   ADOQuery1->First();
   while (!ADOQuery1->Eof){
      AnsiString asStr;
      for (int i = 0; i < ADOQuery1->FieldCount; i++)
         asStr += ADOQuery1->Fields->Fields[i]->AsString + "\x9";
      //Отправляем строку клиенту
      ADOQuery1->Next();
   }
   ADOQuery1->Close();
0
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 3
05.05.2012, 15:36  [ТС]
Спасибо за совет, наверное что-то подобное и применю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.05.2012, 15:36
Помогаю со студенческими работами здесь

Клиент-серверная архитектура
Всем привет! Тут возникла такая дилемма. Схема, когда сервер получает http-запрос от клиента, рендерит данные, и возвращает html...

Клиент / серверная система
Здравствуйте! Я создаю многопользовательскую игру, сразу скажу (photon не подходит по некоторым причинам) потому я решил все...

Клиент-серверная игра
Здравствуйте, мне нужно реализовать клиент-серверную игру в крестики-нолики, где клиентом и сервером управляют 2 пользователя. Я пока не...

Клиент-серверная программа с БД
Всем привет. Имеется задача написать клиент-серверное приложение с использованием бд. В функционале клиента необходимо учесть несколько...

Клиент-серверная архитектура на VB 6.0
Добрый день! Уважаемые знатоки Visual Basic 6.0, хочу поговорить с вами вот на такую тему. Есть задача сделать базу данных по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru