Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2012, 22:44   #1
Guitar Hero
 
Аватар для Guitar Hero
 
Регистрация: 23.01.2012
Сообщений: 5
Восклицание Создание таблицы Access в Delphi

Как, с помощью средств Delphi, создавать таблицы в MS Access. Но таким образом, что-б после запуска программы delphi, пользователь мог самостоятельно вписать название таблицы, количество полей,названия, их типы, выбрать первичный ключ, индексировать поля... Т.е. создать приложение, которое создаёт таблицы в MS Access.???

Последний раз редактировалось Guitar Hero; 23.01.2012 в 23:05.
Guitar Hero вне форума Ответить с цитированием
Старый 23.01.2012, 23:27   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Делаете форму, в которой пользователь задает имя и структуру таблицы, на основании этой информации формируете команду SQL для создания таблицы, загоняете её в Query.SQL и выполняете Query.ExecSQL. Не забудьте в Query строку соединения с базой или используйте компонент ADOConnection, что лучше. Выполнение Query.ExecSQL брать в Try...except. Создание индексов выполнять дополнительными SQL-командами по той же технологии
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.01.2012, 00:01   #3
Guitar Hero
 
Аватар для Guitar Hero
 
Регистрация: 23.01.2012
Сообщений: 5
По умолчанию

Спасибо! Вся трудность заключается в передаче информации для формирования SQL команды. Если не трудно, покажите пожалуйста, на примере или хотя-бы общий вид процедур для выполнения данной операции.
Guitar Hero вне форума Ответить с цитированием
Старый 24.01.2012, 00:08   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Вся трудность заключается в передаче информации для формирования SQL команды
А какой общий вид процедур? Все зависит от конкретной реализации. В любом случае в результате нужно иметь имя таблицы и массив полей с именами, типами и размерностью. И формировать символьную строку-запрос на основании этого
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.01.2012, 00:14   #5
Guitar Hero
 
Аватар для Guitar Hero
 
Регистрация: 23.01.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А какой общий вид процедур?
Да толком и общего вида нет... В начале были какие-то идеи с помощью кучи всяких простых компонентов (edit(ов), button(ов) и т.д.) но всё с треском проваливалось и не давало никаких результатов.
Guitar Hero вне форума Ответить с цитированием
Старый 24.01.2012, 00:25   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Я бы взял ClientDataSet, сделал бы в нем несколько полей для имени, типа, длины и знаков после точки. Создал бы пустой датасет ClientDataSet.CreateDataSet и нацелил бы на него DBGrid. Заполнение информации по каждому полю или непосредственно в DBGrid, или в модальной форме (что в общем проще реализовать). Ввели все поля - вот и готов массив для формирования запроса
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.01.2012, 00:28   #7
Guitar Hero
 
Аватар для Guitar Hero
 
Регистрация: 23.01.2012
Сообщений: 5
По умолчанию

Спасибо большое! Сейчас этим и займусь!) Время до утра у меня есть
Guitar Hero вне форума Ответить с цитированием
Старый 24.01.2012, 05:56   #8
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

C Access есть определенные сложности с точки зрения типов полей.
Тип OLE, text и ссылка. В структуре БД если смотреть меты выглядят одинаково.
И с некоторыми вариациями числовых полей та же байда.
Но в прочем я писал программу не только для создания БД но и для чтения существующих. Так что может у тебя этих грабель и не будет.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание базы данных в Delphi, таблицы в Delphi Integral'chik Помощь студентам 0 11.04.2011 20:12
Создание таблицы в Access IceExecutioner БД в Delphi 4 10.06.2009 03:15
Access 2003 создание таблицы для перевозки пассажиров John_Mnemonic Microsoft Office Access 0 15.04.2009 22:06
Создание таблицы access, Как и через какой компонент Inbox БД в Delphi 8 06.04.2009 11:46
Access в Delphi. Как аполнить массив элементами поля таблицы? VladimirAleks БД в Delphi 3 12.09.2007 14:28