| 
| 
 | Вопрос # 6 126/ вопрос решён / | 
 |  Здравствуйте, эксперты!
 подскажите чайнику, пожалуйста, как удалить сразу все записи в таблице?
 tVvod.Delete удаляет по одной записи..а как сделать, чтобы удалить именно все сразу?
 
|  |   Вопрос задала: Ромашка (статус: Посетитель)Вопрос отправлен: 10 мая 2012, 15:06
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: stales Здравствуйте, Ромашка! Вот мой рабочий пример полного удаления данных. Только этот код я писал для таблицы Paradox, ну для Accessне сложно переделать.
 
 procedure TForm1.Action11Execute(Sender: TObject);  //Нажатие на кнопку на ленте Ribbon
 begin
 if MessageDlg('Удалить все данные из таблицы?', mtConfirmation, [mbOK, mbCancel],0) = mrOk then
 begin
 with Table1 do
 begin
 Active:= False;
 Exclusive:= True; // перевод таблицы в эксклюзивный набор данных
 Active:= True;
 try
 EmptyTable;   // сама процедура очищения таблицы
 except
 ShowMessage('Не удается очистить таблицу!');
 end;
 Active:= False;
 Exclusive:= False;
 Active:= True;
 end;
 
|  | Ответ отправил: stales (статус: 1-ый класс)Время отправки: 11 мая 2012, 17:39
 
 |  
 Мини-форум вопросаВсего сообщений: 24; последнее сообщение — 12 мая 2012, 08:39; участников в обсуждении: 2. Страницы: [1] [2] [Следующая »]  
|   | Мережников Андрей (статус: Абитуриент), 10 мая 2012, 17:34 [#1]:какие компоненты используются для доступа к БД? |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 17:47 [#2]:ADOTable, ADOConnection, DataSource |  
|   | Мережников Андрей (статус: Абитуриент), 10 мая 2012, 18:03 [#3]:добавьте,например, компонент ADOQuery, в свойство SQL пропишите команду delete from <имя таблицы>. И вызывайте потом: adoquery.execsql |  
|   | Мережников Андрей (статус: Абитуриент), 10 мая 2012, 18:36 [#4]: Цитата: delete from <имя таблицы> прописать на кнопку "удалить записи" или на событие ADOQuery? на кнопку "удалить запись" прописать adoquery.execsql, а куда записать команду delete - я написал выше
 |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 18:37 [#5]:может быть я что-то неправильно делаю...но у меня ругается на обе команды... в свойстве SQL открывается String List Editor. Я туда вписываю delete from <имя таблицы>, он ругается, что таблицу в папке не находит (хотя она там имеется)
 а когда пытаюсь вызов процедуры написать, ADOQuery вообще не видит...
 |  
|   | Мережников Андрей (статус: Абитуриент), 10 мая 2012, 18:52 [#6]:так вместо <имя таблицы> надо вписать ИМЯ ТАБЛИЦЫ, как она называется в БД |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 18:59 [#7]:это я понимаю))) не настолько чайник)))) у меня AdoTable стоит на DataModule, а DBGrid на другом юните...вот когда я пишу delete from tVvod (имя самой таблички) он говорит "Ядро бд Microsoft Jet не может найти входную таблицу или запрос 'tVvod'. Проверьте существование таблицы или запроса и правильность имени.", а когда прописываю с путем Vvod.tVvod (с юнитом), говорит, что таблицу не видит...
 |  
|   | Мережников Андрей (статус: Абитуриент), 10 мая 2012, 19:17 [#8]: Цитата (Ромашка): не настолько чайник ADOQuery связан с ADOConnection?
 |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 19:24 [#9]:Конечно! и с DataSourse
 |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 19:36 [#11]:не знаю..) автоматически))) 
 убрала связь с DS - никаких изменений...
 |  
|   | Мережников Андрей (статус: Абитуриент), 10 мая 2012, 19:41 [#12]:DS теперь с чем связан? ADOQuery тоже лучше поместить в DataModule |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 19:52 [#13]:ADOQuery и так на DataModule а DS связан по-прежнему с таблицей tVvod
 |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 20:04 [#15]:да |  
|   | Мережников Андрей (статус: Абитуриент), 10 мая 2012, 20:10 [#16]:в SQL зпросе надо прописать не имя компонента ADOTable  в программе, а ИМЯ ТАБЛИЦЫ в базе данных, которая содержит данные |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 20:14 [#17]:"ADOQuery: CommandText does not return a result set" и ADOQuery юнит по-прежнему не видит...
 |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 20:27 [#18]:проект работает, если не писать строку DM.DataModule2.ADOQuery.execsql; |  
|   | Мережников Андрей (статус: Абитуриент), 10 мая 2012, 20:29 [#19]: Цитата (Ромашка): ADOQuery юнит по-прежнему не видит какой юнит должен видеть ADOQuery?
 
 Цитата (Ромашка): CommandText does not return a result set что прописано в CommandText и зачем?
 |  
|   | Ромашка (статус: Посетитель), 10 мая 2012, 20:44 [#20]:должен видеть юнит, на котором кнопка. на кнопке прописана команда  DM.DataModule2.ADOQuery.execsql;
 про CommandText ниче сказать не могу, потому что без понятия о чем это. это сообщение мне было выдано, когда я исправила имя таблицы в String Editor и попыталась переставить Active (ADOQuery) в true.
 |  Страницы: [1] [2] [Следующая »]  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |