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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2014, 17:24   #1
nastena_r_v
Пользователь
 
Регистрация: 22.05.2012
Сообщений: 30
Вопрос Создание таблицы запросом

День добрый, подскажите, как можно реализовать запрос на создание таблицы, в которой должно содержаться 38 полей, так много потому, что это форма табеля, рассчитанная на 31 день, плюс дополнительные поля...
Проблема в том, что если писать все в одну строку, то ошибка выходит, пишет, что длинная строка. А как расписать запрос на несколько строк, я не знаю, потому что в SQL не сильна...
PHP код:
procedure TForm1.Button3Click(SenderTObject);
begin
  
if not (Edit1.Text ''then
    begin
      
if ComboBox1.Items.IndexOf(Edit1.Text) = -1 then
        begin
          DataModule2
.ADOQuery1.SQL.Clear;
          
DataModule2.ADOQuery1.SQL.Add('CREATE TABLE 'Edit1.Text '([№] Counter, [ФИО] String(40),[id1] int,[id2] float,[id3] float,[id4] float,[id5] float,[id6] float,[id] float,[id8] float,[id9] float,[id10] float,[id11] float,[id12] float,[id13] float,[id14] float,[id15] float,[id16] float,[id17] float,[id18] float,[id19] float,[id20] float,[id21] float,[id22] float,[id23] float,[id24] float,[id25] float,[id26] float,[id27] float,[id28] float,[id29] float,[id30] float,[id31] float,[id32] float,[id33] float,[id34] float,[idx] float,PRIMARY KEY ([№]))');
          
DataModule2.ADOQuery1.ExecSQL;
          
DataModule2.ADOConnection1.GetTableNames(ComboBox1.Items);
          
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(Edit1.Text);

        
end
      
else ShowMessage('База уже существует');
    
end
  
else ShowMessage('Имя базы не задано');
end
nastena_r_v вне форума Ответить с цитированием
Старый 24.04.2014, 17:28   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Программное создание таблиц это плохо, как минимум не проработана структура базы.
А длинную строку - SQL.Add несколько раз с кусками запроса
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.04.2014, 17:45   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Имя базы не задано
при чем тут база если создаете таблицу? все верх ногами
eval вне форума Ответить с цитированием
Старый 25.04.2014, 07:42   #4
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Код:
with DataModule2.ADOQuery1.SQL do begin
 Add('CREATE TABLE '+ Edit1.Text + '([№] Counter, [ФИО] String(40),');
 Add('[id1] int,[id2] float,[id3] float,[id4] float,[id5] float,');
//и т.д.
end;
superedward вне форума Ответить с цитированием
Старый 25.04.2014, 15:57   #5
nastena_r_v
Пользователь
 
Регистрация: 22.05.2012
Сообщений: 30
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
при чем тут база если создаете таблицу? все верх ногами
Эта строка не относится к данному сообщению, и если что вопрос у меня был другой, по умничать я тоже могу, лучше бы реально на вопрос ответили.
nastena_r_v вне форума Ответить с цитированием
Старый 25.04.2014, 15:59   #6
nastena_r_v
Пользователь
 
Регистрация: 22.05.2012
Сообщений: 30
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Программное создание таблиц это плохо, как минимум не проработана структура базы.
А длинную строку - SQL.Add несколько раз с кусками запроса
Ну видите ли, другого способа я не знаю как можно создавать базы по запросу пользователя.
А на счет "запроса кусками" так поля все будут в той же последовательности? Это не будет считаться неправильной записью?
nastena_r_v вне форума Ответить с цитированием
Старый 25.04.2014, 16:00   #7
nastena_r_v
Пользователь
 
Регистрация: 22.05.2012
Сообщений: 30
По умолчанию

Цитата:
Сообщение от superedward Посмотреть сообщение
Код:
with DataModule2.ADOQuery1.SQL do begin
 Add('CREATE TABLE '+ Edit1.Text + '([№] Counter, [ФИО] String(40),');
 Add('[id1] int,[id2] float,[id3] float,[id4] float,[id5] float,');
//и т.д.
end;
О... Большое спасибо за наглядный пример =)
nastena_r_v вне форума Ответить с цитированием
Старый 25.04.2014, 16:34   #8
nastena_r_v
Пользователь
 
Регистрация: 22.05.2012
Сообщений: 30
По умолчанию

Цитата:
Сообщение от superedward Посмотреть сообщение
Код:
with DataModule2.ADOQuery1.SQL do begin
 Add('CREATE TABLE '+ Edit1.Text + '([№] Counter, [ФИО] String(40),');
 Add('[id1] int,[id2] float,[id3] float,[id4] float,[id5] float,');
//и т.д.
end;
Сделала по Вашему предложению:

PHP код:
 with DataModule2.ADOQuery1.SQL do begin
 Add
('CREATE TABLE 'Edit1.Text '([№] Counter, [ФИО] String(40)');
 
Add('[id1] int,[id2] float,[id3] float,[id4] float,[id5] float');
 
Add('[id6] float,[id] float,[id8] float,[id9] float,[id10] float ');
 
Add('[id11] float,[id12] float,[id13] float,[id14] float,[id15] float');
 
add('[id16] float,[id17] float,[id18] float,[id19] float,[id20] float');
 
add('[id21] float,[id22] float,[id23] float,[id24] float,[id25] float');
 
add('[id26] float,[id27] float,[id28] float,[id29] float,[id30] float');
 
add('[id31] float,[id32] float,[id33] float,[id34] float,[idx] float,PRIMARY KEY ([№]))'); 

Но выходит ошибка в синтаксисе инструкции Create Table
nastena_r_v вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование таблицы в текстовый файл SQL запросом F1oyd Microsoft Office Access 14 16.01.2014 14:07
Создание таблицы. swetlang Microsoft Office Access 0 09.12.2013 16:16
Создание таблицы ts-alan C# (си шарп) 5 09.08.2013 19:05
Создание таблицы SQL запросом Wind-up Bird Microsoft Office Access 3 26.06.2012 11:48
Как получить свойства таблицы SQL запросом? Grandistok Microsoft Office Access 1 10.04.2010 16:52