powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Можно ли корректировать строки таблицы MySQL с помощью компонента TADOTable C++ Builder
1 сообщений из 1, страница 1 из 1
Можно ли корректировать строки таблицы MySQL с помощью компонента TADOTable C++ Builder
    #39118685
abtat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня Windows XP и 7, MySQL 5.5.25 Win32, mysql-connector-odbe-5-1-6. Rad Studio C++ Builder 2010, База из дюжины таблиц.
Связь с базой через компонент TADOConnection из набора dbGo, для получения данных использую компоненты TADOQuery, в параметре SQL которого помещаю запрос, комбинирующий данные нескольких таблиц базы, и компонент TDateSource из набора Data Access. Все ОК. Для формирования новых записей и корректировки старых пытаюсь использовать компонент TADOTable из того же набора dbGo, в котором создаю необходимые lookup поля и TDateSource. Не могу понять, почему в одном модуле программы корректировка по схеме
BooksModule->ContractTbl->Active = true;
if (BooksModule->ContractTbl->Locate("ContractKey", ObjectKey, SearchOptions))
{
BooksModule->ContractTbl->Edit();
BooksModule->ContractTblVolume->Value += BooksModule->ContentTblVolume->Value;
BooksModule->ContractTblItems->Value += 1;
BooksModule->ContractTbl->Post();
}

выполняется однократно после создания новой записи таблицы Content без замечаний, тогда как в другом модуле той же программы и с той же таблицей ContractTbl, но в цикле по всем записям таблицы Content, даже если между строками EDIT и POST убрать две строки корректировки, в строке POST возникает ошибка типа " Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени последнего чтения ". Но ведь состояние записи EDIT и служит для корректировки некоторых значений. При работе той же программы на базе Paradox 9 использовались только компоненты TTable и таких проблем не возникало. При создании новой записи в той же таблицы через состояние Insert компонента TADOTable проблем также не возникало. Очень не хочется писать SQL выражения для каждой корректировки таблиц базы.
Мои вопросы:
1. Можно ли корректировать MySQL таблицы изменяя данные в полях TADOTable, относящихся к той же таблице (свойство TablName компонента), (Lookup поля изменениями не затрагиваются) или для корректировки можно использовать только SQL выражения Update для компонента TADOQuery.
2. Если можно, то с какими ограничениями?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Можно ли корректировать строки таблицы MySQL с помощью компонента TADOTable C++ Builder
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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