| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Базы данных > Создание таблиц в БД |
| Автор: alex_set 17.4.2008, 14:58 |
| Помогите создать таблицы в базе данных. Надо чтобы пользователь сам решал сколько будет колонок, название, тип и размер их. 1. Пытался сделать через StringGrid. Чтобы пользователь добовлял название колонок, тип и размер. Не получилось. Подскажите как сделать что-то похожее и какие элименты использовать. 2. Подскажите как свормировать SQL запрос для создания таблицы в базе данных. 3. Помогите отфильтрованную таблицу сохранить как новую. |
| Автор: alex_set 17.4.2008, 15:55 |
| 1. Покачто не получается из Edit'ов вставить текст в StringGrid. 2. А она сразу будет создоватся в базе дынных .mdb ? 3. Т.е. начальная таблица была отфильтрована по некоторым критериям и в DBGrid появится новая. Как сохранить ее под другим именем. |
| Автор: Rodman 17.4.2008, 16:50 | ||||
ну если все правильно подключил, то ДА!
|
| Автор: alex_set 18.4.2008, 01:46 | ||
Дедаю так
Но не получается чтоб при каждом нажатии кнопки запись добовлялась на новую строку. |
| Автор: Rodman 18.4.2008, 08:44 | ||||
Добавлено через 16 секунд см. строки 11, 19-25 |
| Автор: alex_set 18.4.2008, 12:46 |
| Понял свою ошибку надо было обьявлять глобальную переменную. А теперь не подскажеш как теперь из этих данных создать таблицу. Делать через CreateTable, а Cells[0..2][i] подставить как название, тип и размер??? |
| Автор: Rodman 18.4.2008, 13:18 | ||
|
| Автор: alex_set 18.4.2008, 13:29 |
| Тогда скажи как надо делать?? Например в StringGrid получилась такая запись. ------------------------------- | имя | string | 20 | | фамилия | string | 20 | | адрес | string | 20 | | возраст | integer | 5 | ------------------------------- Как из этого создать таблицу?? |
| Автор: Rodman 18.4.2008, 13:50 | ||
я вот тока не вижу первичного ключа, но я на всякий пожарный добавлю
|
| Автор: alex_set 22.4.2008, 13:57 | ||
Подскажите праильно ли написано 3 строка и работа с ADO. А то ошибку выдает при нажатии кнопки. И как убрать требование пароля. |
| Автор: Alca 23.4.2008, 13:52 |
| C:\123.mdb -> C:\\123.mdb LoginPrompt = false; |
| Автор: alex_set 23.4.2008, 17:08 | ||
Спасибо помогло. |
| Автор: AntonBunin 3.9.2008, 11:29 |
| Приветствую всех! В общем о задаче... (еще только учусь сильно не ругайте если что не так) 1. ADO -> База данных (ms access`03) (в ней таблица Т1 ); 2. Пользователь выбрал критерий поиска (или фильтра) и нашел нужную запись (строку) в Т1 -> Grid отобразил запись; это реализовано 3. Создается пустая Т2, в которой присутствуют [B]все поля Т1;[/B] 4. Выбранная запись копируется в Т2; 5. ....далее п.2-> <-п.3; 6. Пользователь закончил выбор -> T2 сохраняется в БД. Собственно вопрос то в том, как можно создать пустую Т2, но с теми же полями? Предполагаю, что можно тупо скопировать Т1 и очистить ее И ещё, можно ли будет работать со значениями Т1 и/или Т2 (типа float и double) как с переменными в математических формулах? Спасибо! |
| Автор: AntonBunin 3.9.2008, 13:29 |
| В принципе, если свойство Fields объекта Table занести данные о столбцах то при СreateTable должна получится таже табличка, только пустая...вроде ....буду пробовать... |
| Автор: AntonBunin 4.9.2008, 08:11 | ||
такое (из Grid текущую строку в новую таблицу) вообще можно реализовать? |
| Автор: AntonBunin 5.9.2008, 13:52 | ||
| Люди помогите. Как грамотно описать ошибку: Exception class EOleException with message 'Таблица 'Name' уже существует' в смысле нужно ее перехватить, пробовал вот так
,но вместо MessageDlg выдается снова системное сообщение: Exception class EOleException with message 'Таблица 'Name' уже существует' |
| Автор: AntonBunin 6.9.2008, 15:46 |
| Всем спасибо за помощь, разобрался вместо catch (EOleException&Err) нужно делать так catch (Exception&E) |