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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2015, 09:41   #1
Eugene_Stoun
Пользователь
 
Аватар для Eugene_Stoun
 
Регистрация: 14.06.2013
Сообщений: 56
Сообщение Удаление записей

Всем, Доброго времени суток!
Проблема такая: никак не могу сделать удаление выбранных записей из таблицы. Написал запрос, но при выборе записей из DBGrid удаляет только одну. Подскажите, что не так???

Код:
procedure TForm1.Button6Click(Sender: TObject);
var
  del,i,j,d,idn:Integer;
  s:string;
begin
if ADOConnection1.Connected=true then
del:=MessageBox(handle, PChar('Внимание! Вы действительно хотите удалить записи\файлы?'),
PChar('Удаление записей'), MB_ICONWARNING + MB_YESNO + MB_DEFBUTTON2);
case del of
idno:begin
ADOquery1.Active:=false;
end;
idyes:begin
if DBGridEh1.SelectedRows.Count>0 then
with DBGridEh1.DataSource.DataSet do
for i:=0 to DBGridEh1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGridEh1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin
if (j>0) then s:=s;
s:=Fields[9].AsString;
idn:=Fields[0].AsInteger;
end;
Listbox1.Items.Add(s);

end;
begin
  for d:=0 to ListBox1.Items.Count-1 do
      if FileExists (ListBox1.Items.Strings[d]) then
      begin
      DeleteFile(PChar(ListBox1.Items.Strings[d]));
ADOQuery1.Close;
ADOQuery1.SQL.Text:='Delete * from Карточки_учета WHERE Код_Карточки=:ID';
ADOQuery1.Parameters.ParamByName('ID').Value :=IntToStr(idn);
ADOQuery1.ExecSQL;
end;
end;
end;
end;
ListBox1.Clear;
end;
Учиться, учиться и еще раз учиться!
Eugene_Stoun вне форума Ответить с цитированием
Старый 10.04.2015, 10:16   #2
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
не могу сделать удаление выбранных записей из таблицы. Написал запрос, но при выборе записей из DBGrid удаляет только одну
Удаляет все выбранный данных , не имеет значение это вы будите выбрать через ComboBox или ListBox1
Код:
procedure TForm1.Button1Click(Sender: TObject);
var 
  n: longint;
begin
  ADOQuery1.Last;
  for n := ADOQuery1.RecordCount downto 1 do
  ADOQuery1.Delete;
end;
Дальше вы смотрите ваши код....... зачем это 9 этажный ненужной код и причем тут DBGridEh1 ? не понятно

Последний раз редактировалось xxbesoxx; 10.04.2015 в 10:25.
xxbesoxx вне форума Ответить с цитированием
Старый 10.04.2015, 10:28   #3
Eugene_Stoun
Пользователь
 
Аватар для Eugene_Stoun
 
Регистрация: 14.06.2013
Сообщений: 56
По умолчанию

Спасибо) Вопрос решен
Учиться, учиться и еще раз учиться!
Eugene_Stoun вне форума Ответить с цитированием
Старый 10.04.2015, 10:45   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Во-первых у ТС удаление не всех, а отмеченных
Во-вторых ADOQuery1.Delete далеко не всегда прокатит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.04.2015, 16:28   #5
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Во-первых у ТС удаление не всех, а отмеченных
Да друг "Отмеченых-выбранных" это код удаляет только выбранный , На пример только (Кофе) проверяйте https://yadi.sk/d/B9Taob0vfuFuK
Цитата:
Во-вторых ADOQuery1.Delete далеко не всегда прокатит
Если связь между таблицы и нету on cascade delete- каскадное удаление ... конечно не прокатит. Это пример из книги "Самоучитель Delphi .NET
Анатолий Хомоненко "
Изображения
Тип файла: jpg T1_.jpg (43.4 Кб, 82 просмотров)
Тип файла: jpg T_2.jpg (35.0 Кб, 83 просмотров)

Последний раз редактировалось xxbesoxx; 10.04.2015 в 16:48.
xxbesoxx вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление записей aiktz Microsoft Office Access 1 11.11.2010 22:25
Каскадное удаление записей Liones БД в Delphi 7 14.05.2009 08:04
Удаление нескольких записей Hobbit_88 БД в Delphi 5 23.04.2009 17:18
Удаление записей Blackmore БД в Delphi 2 26.05.2008 08:18
Удаление записей Arsgun БД в Delphi 7 09.07.2007 11:56