![]() |
|
|
![]()
|
|
| MaksGSC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.2.2009 Репутация: нет Всего: нет |
Здравствуйте. Не могу разобраться как динамически создать таблицу. Надо времено создать таблицу, юзер заполняет её, потом она копируется в базу и желательно удаляется. Программа сетевая поэтому приходиться каждому пользователю по таблице давать, а потом собирать в одну. Работаю с ADO (BDE не вариант). Пробовал в ручную создать TADOTable *temp = new TADOTable; - не знаю:
1 Как указать где она будет храниться свойства DatabaseName нет, если надо писать Connection то как? 2 Как создавать индексы? 3 Если написать delete *temp, что будет файлом на харде? Пробовал сделать через DataSet или FieldDefs, они так просто (без реальной таблицы) не работают. Методы типа ->Open() дают ошибку. Может кто нибудь знает как ее создать или обойтись без неё. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
С помощью AdoQuery и запроса вида
Таблица будет создана в той БД, которая подключена по AdoConnection. Т.е. AdoQuery подключаешь к AdoConnection, а из AdoConnection выбираешь, соответственно, БД. 1. При чём тут таблицы? Один топик - один вопрос. 2. Где написать? 3. Что вообще ты хочешь сказать? delete *.tmp - удалятся файлы *.tmp, разумеется. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| MaksGSC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.2.2009 Репутация: нет Всего: нет |
Данкинг Спасибо.
Про запросы не подумал. Можно и с их помощью выкрутиться. Но наверно я не правильно объяснил проблему. У меня много пользователей, они начинают вводить информацию (толпой скорее всего). Прога должна проверить и т.д. и записать в базу. В идеале каждому по временной таблице. |
|||
|
||||
| Dmi3ev |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 16 Всего: 41 |
либо создаешь ADOConnection, либо у ADOTable есть свойство ConnectionString, которое тебе и нужно задать, например
Добавлено через 1 минуту и 30 секунд Так много не обязательно писать, это я для понимания, что много всего можно задать... -------------------- |
||||
|
|||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Я бы сказал, не можно, а нужно!
Пусть прога проверяет данные и делает с ними всё остальное. Зачем тут вообще какая-то временная таблица?! -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| MaksGSC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.2.2009 Репутация: нет Всего: нет |
У меня там БД и exe - шник на серваке, пользователи со своих компов запускают программу. Информацию от них можно собирать и в массив. Но им много надо вводить да и привыкли они у меня к Grid да к CtrlGrid.
|
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
В идеале - нормальная СУБД, поддерживающая транзакции и блокировки. Очень не советую использовать временные таблицы для массового ввода - потом хлопот с синхронизацией не оберетесь. Если пользователи привыкли - пусть пользуются. Переход от таблиц к запросам и ADO не заставляет менять визуализацию. Все останется как есть, только движок доступа к БД изменится и станет лучше. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
согласный. MaksGSC, для решений необходимо использовать нормальную серверную БД. К примеру MySQL. А твое приложение обыкновенный клиент. Никаких временных таблиц не надо. |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Лично я вижу применение временных таблиц в двух случаях:
1. Когда необходимо произвести адовый рассчет либо сформировать трудоемкий отчет, которые требуют многократного обращения к одним и тем же данным. Чтобы не загружать основной сервер использовал временные таблицы. 2. Терминал удаленного сбора данных - когда нет возможности подключиться к основной БД. Тогда данные накапливаются, а потом синхронизируются с основной БД Больше на практике я не встречал случаев, когда мне понадобились бы временные таблицы. И уж тем более для организации нормальной работы. Это дело серверной СУБД - ее для этого и создавали. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |