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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2011, 02:08   #1
Mag-Dark_Elf
 
Регистрация: 09.11.2011
Сообщений: 7
По умолчанию Добавление/Удаление столбца в таблице БД Delphi

Как создать поле(столбец) в AdoTabel в Delphi?
Имеется подключенная база данных (Access)
Таблица сопоставлена с AdoTable1
В таблице требуется Добавить/Удалить последнее поле(столбец)
подскажите оператор или набор операторов или SQL запрос (только так что бы потом им можно было пользоваться)

Я пытался ввести SQL запрос в AdoQuery вот в таком виде
ADOQuery1.SQL.Add('ALTER TABLE имя_таблицы ADD имя_столбца String[255]');
но мне выдает ошибку
'ADOTable1: Cannot perform this operation on a closed dataset'
Не может выполнить операцию на закрытие данных

Последний раз редактировалось Mag-Dark_Elf; 09.11.2011 в 02:11.
Mag-Dark_Elf вне форума Ответить с цитированием
Старый 09.11.2011, 03:27   #2
Vladilen
 
Регистрация: 03.09.2010
Сообщений: 8
По умолчанию

Нет, это означает что нельзя выполнить операцию, когда закрыта таблица. Просто свойство Connected у ADOConnection надо выставить в True если забыл или у ADOTable Active в True.

Последний раз редактировалось Vladilen; 09.11.2011 в 03:36.
Vladilen вне форума Ответить с цитированием
Старый 09.11.2011, 22:04   #3
Mag-Dark_Elf
 
Регистрация: 09.11.2011
Сообщений: 7
По умолчанию

Я это исправил
Но проблема не в этом, а в том что я не умею создавать и удалять поля
SQL - Alter Table то создаёт поле, то выдаёт ошибку что "Текущий поставщик не поддерживает возврат нескольких наборов записей в результате выполнения одной операции"
Mag-Dark_Elf вне форума Ответить с цитированием
Старый 09.11.2011, 22:26   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
то создаёт поле, то выдаёт ошибку что "Текущий поставщик не поддерживает возврат нескольких наборов записей в результате выполнения одной операции"
"Классическая" ошибка....

Запомните, когда Вы получаете выборку данных с помощью операции SELECT ... FROM - тогда вызываете метод ADOQuery1.Open;
если же Вы добавляете/изменяте/удаляете данные или манипулируете структурой таблицы, то никаких данных Вам НЕ ВОЗРАЩАЕТСЯ, поэтому нужно использовать метод
ADOQuery1.ExecSQL;
и никак иначе!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2011, 22:37   #5
Mag-Dark_Elf
 
Регистрация: 09.11.2011
Сообщений: 7
По умолчанию

ADOQuery1.ExecSQL;
И куда это вставит,
У меня ADOQuery1.Open нету
и я повторю: Я не умею создавать поля, мне сказали только то, что если в ADoQuery.SQL вписат sql запрос и включить его, "что-то" может и получиться, больше я ничего не знаю, поэтому прошу помочь мне в создании поля
Mag-Dark_Elf вне форума Ответить с цитированием
Старый 09.11.2011, 23:01   #6
Vladilen
 
Регистрация: 03.09.2010
Сообщений: 8
По умолчанию

Вот именно тебе и нужно "в ADoQuery.SQL вписат sql" но не включать его, а просто исполнить его, например на кнопку удалить повесить такой код:
ADOQuery1.ExecSQL
Vladilen вне форума Ответить с цитированием
Старый 09.11.2011, 23:53   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Vladilen, +1


Mag-Dark_Elf,
Цитата:
Сообщение от Mag-Dark_Elf
У меня ADOQuery1.Open нету
а как Вы включаете его?!
Цитата:
Сообщение от Mag-Dark_Elf
и включить его
???!

Вы, наверное, делаете ADOQuery1.Active := true; ??!!
Так сообщаю - вызвать метод Open или присвоить .Active := true - это АБСОЛЮТНО одно и то же!

вот ВМЕСТО этой строчки и напишите
Код:
ADOQuery1.ExecSQL;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление (удаление) строк в таблице inside9 Microsoft Office Excel 29 01.01.2012 22:31
Удаление строк столбца совпадающих со строками другого столбца ShamanGood Microsoft Office Excel 23 18.09.2010 09:26
сравнение ячеек и добавление нового столбца к таблице robbe Microsoft Office Excel 7 22.01.2010 10:30
Добавление данных из Delphi в таблице Excel Neket21 БД в Delphi 1 23.07.2009 08:06
Выделение последнего столбца в таблице Busine2009 Microsoft Office Word 2 26.05.2009 07:20