powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Изменение/добавление данных в базе данных
7 сообщений из 7, страница 1 из 1
Изменение/добавление данных в базе данных
    #39216869
tory.sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приложение состоит из 3-х частей: БД (MS SQL Server), сервер-приложение и сервер-клиент. Программная часть воспроизведена с помощью C++Builder 6. Цепочка соединения с БД следующая:
сервер-приложение: (через TCRemoteDataModule) TADOConnection (поставщик данных - Microsoft OLE DB Provider for SQL Server) -> TADOTable (выбрана табл. из БД, CursorType - динамический) -> TDataSetProvider;
клиент-сервер: TDCOMConnection -> TClientDataSet -> TDataSource -> TDBGrid и TDBNavigator.

Соединение работает и при запуске приложения в TDBGrid отображается таблица, TDBNavigator позволяет добавлять/удалять записи, но только на локальной машине. В самой БД изменений не происходит и ни как не удаётся добиться отправки данных на сервер БД.

На метод типа:
Код: plaintext
1.
 DBGrid->DataSource->ClientDataSet ->Post(); 


или
Код: plaintext
1.
 DBGrid->Post(); 


вылезает ошибка: 'E2316 'Post' is not a member of 'TDBGrid' '.

Пробовала передать обновление через TADOQuery (добавила на сервер-приложение взамен TADOTable). При попытке отправить ему строку:
Код: plaintext
1.
2.
3.
4.
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM table");
ADOQuery1->Active = true;


вылезает ошибка: 'E2451 Undefined symbol 'ADOQuery1' '.

Подскажите пожалуйста, как можно реализовать отправку данных в БД и в каком направлении искать ошибку
...
Рейтинг: 0 / 0
Изменение/добавление данных в базе данных
    #39216972
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tory.shПриложение состоит из 3-х частей: БД (MS SQL Server), сервер-приложение и сервер-клиент. Программная часть воспроизведена с помощью C++Builder 6. Цепочка соединения с БД следующая:
сервер-приложение: (через TCRemoteDataModule) TADOConnection (поставщик данных - Microsoft OLE DB Provider for SQL Server) -> TADOTable (выбрана табл. из БД, CursorType - динамический) -> TDataSetProvider;
клиент-сервер: TDCOMConnection -> TClientDataSet -> TDataSource -> TDBGrid и TDBNavigator.Если хочешь что-то сделать реальное - пора вылезать из младенческих ползунков. Они удобны для примитивных отображений базы, но ни для чего серьезного не пригодны. Попытка работать с TADOQuery это правильное направление развития. Оно и более мощное чем весь кошмар который ты используешь и намного более простое.

tory.shвылезает ошибка: 'E2451 Undefined symbol 'ADOQuery1' '.ээээ... это вообще-то чрезвычайно примитивная ошибка означающая что ты забыла объявить переменную. Ты уверена что ты уже готова возиться с базами данных, если не можешь решать такие ошибки?
...
Рейтинг: 0 / 0
Изменение/добавление данных в базе данных
    #39216985
tory.sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owlошибка означающая что ты забыла объявить переменную
TADOQuery является элементом сервера-приложения и объявить его в клиенте в виде <тип> *<имя> нельзя, как по другому его объявить не знаю (если это вообще позволительно - использовать элементы другого приложения напрямую). Если на сервере для TADOQuery задать запрос, то всё работает корректно. Для изменения данных этот запрос надо изменить, а точнее со стороны клиента отправить текст sql запроса к сервер-приложению. Как раз это я и не знаю как сделать
...
Рейтинг: 0 / 0
Изменение/добавление данных в базе данных
    #39216993
tory.sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не подскажите, у какие авторы данную тематику (3-х звенные приложения) освещают? Где описан не только набор команд, как построит связь, а разные способы передачи, их отличия и т.д. и т.п.
...
Рейтинг: 0 / 0
Изменение/добавление данных в базе данных
    #39217006
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забей, рано тебе ещё 3 звена подымать. Начни с одного-двух.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Изменение/добавление данных в базе данных
    #39217256
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tory.shTADOQuery является элементом сервера-приложения и объявить его в клиенте в виде <тип> *<имя> нельзя,Во первых, TADOQuery это не элемент, а класс. И именно так и надо объявлять.

tory.shесли это вообще позволительно - использовать элементы другого приложения напрямую.Нет, это не позволительно.

tory.sh Если на сервере для TADOQuery задать запрос, то всё работает корректно. Для изменения данных этот запрос надо изменить, а точнее со стороны клиента отправить текст sql запроса к сервер-приложению.Вот если вычеркнуть то что я вычеркнул, то твоя фраза станет полностью правильной.
tory.sh Как раз это я и не знаю как сделатьВот как раз для отправки запросов на сервер и существует TADOQuery.

tory.shНе подскажите, у какие авторы данную тематику (3-х звенные приложения) освещают? Где описан не только набор команд, как построит связь, а разные способы передачи, их отличия и т.д. и т.п. Здесь нету трех-звенки, есть только два звена: клиент и сервер. А литература... Тебе надо во первых две книги: учебник по элементарному С++, чтобы понять что такое классы, и чем они отличаются от элементов. Во вторых, учебник по SQL для понимания что может сервер.
А учебников по связи между С++ и SQL я честно говоря не знаю. Но там все очень просто: отправляем запрос на сервер, получаем ответ, обрабатываем, отправляем новый запрос. А чтобы понять как именно посылать - обычно достаточно прочитать документацию на пару/тройку главных классов. Для тебя это будет TADOQuery и TADOConnection. Все общение с БД может быть ограничено этими двумя классами.
...
Рейтинг: 0 / 0
Изменение/добавление данных в базе данных
    #39217565
tory.sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

Спасибо большое!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Изменение/добавление данных в базе данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]