Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли корректировать строки таблицы MySQL с помощью компонента TADOTable C++ Builder
|
|||
|---|---|---|---|
|
#18+
У меня 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. Если можно, то с какими ограничениями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2015, 17:50 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2018701]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
4ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
| others: | 278ms |
| total: | 442ms |

| 0 / 0 |
