Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
2 / 2 / 0
Регистрация: 23.04.2010
Сообщений: 155

Удаление записи из access (ADO)

18.03.2014, 13:12. Показов 4532. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый.
Удаляю через ADOQuery, но результата ноль, либо не правильно делаю. Подскажите пожалуйста. Хочу удалить всю запись из БД. А может стоит через ADOTable? Как сделать?
Delphi
1
2
3
4
5
6
7
8
9
10
11
var
id:Integer;
begin
ADOTable1.Open;
if EditFIO.Text=ADOTable1.FieldByName('FIO_pac').AsString then
  begin
    id:=ADOTable1.FieldByName('ID').AsInteger;
ADOQuery1.close;
ADOQuery1.SQL.Text:='delete from MRT_GRUD where id='+IntToStr(ID);
ADOQuery1.execSQL;
  end;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2014, 13:12
Ответы с готовыми решениями:

Невозможно удаление записей. ADO / Access / Jet 4.0
Здравствуйте, уважаемые. Простой вопрос, однако разобраться сам не могу. Искал похожие темы, нашел, однако они не помогли. Не могу...

Удаление записей Delphi - Ado - Access через SQL Between
Доброго времени суток. БД - для учета школьных олимпиад. Нужно написать запрос для удаления олимпиад по каждому уч. году. Пример ...

Удаление и добавление записи Access
Добрый день. Как взять значение полей из EditA? Если в кавычках писать сразу значения то добавляет. procedure...

8
554 / 484 / 191
Регистрация: 11.12.2013
Сообщений: 2,507
18.03.2014, 13:21
если Вам нужно удалить текущую запись из ADOTable, то сделайте так
Delphi
1
2
3
4
5
6
7
8
9
10
var
id:Integer;
begin
ADOTable1.Open;
if EditFIO.Text=ADOTable1.FieldByName('FIO_pac').AsString then
  begin
    ADOTable1.Delete;
    ADOTAble1.Post;
  end;
end;
а так запрос должен отрабатывать, вроде ошибок в нем нет.
1
2 / 2 / 0
Регистрация: 23.04.2010
Сообщений: 155
18.03.2014, 15:08  [ТС]
Алекcей, ваш вариант тоже к сожалению не удаляет.((
0
554 / 484 / 191
Регистрация: 11.12.2013
Сообщений: 2,507
18.03.2014, 15:15
пришлите проект, посмотрю
1
2 / 2 / 0
Регистрация: 23.04.2010
Сообщений: 155
18.03.2014, 15:34  [ТС]
Алекcей, unit1, кнопка удалить.
Вложения
Тип файла: rar Proga.rar (410.3 Кб, 26 просмотров)
0
554 / 484 / 191
Регистрация: 11.12.2013
Сообщений: 2,507
18.03.2014, 15:54
попробуйте так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.BitBtn4Click(Sender: TObject);
var
ida:Integer;
begin
ida:=0;
ADOTable1.Open;
if EditFIO.Text=ADOTable1.FieldByName('FIO_pac').AsString then
 begin
    ida:=ADOTable1.FieldByName('ID').AsInteger;
  try
    with ADOQuery1 do begin
     SQL.Clear;
     SQL.Text:='DELETE FROM MRT_GRUD where id=:ida';
     Parameters[0].Value:=ida;
     ExecSQL;
    end;
  except
   on e:Exception do
  end;
 end;
end;
1
2 / 2 / 0
Регистрация: 23.04.2010
Сообщений: 155
18.03.2014, 16:52  [ТС]
Алекcей, про id=:ida такое впервые вижу. Спасибо большое. Работает. Чем могу отблагодарить?
0
554 / 484 / 191
Регистрация: 11.12.2013
Сообщений: 2,507
18.03.2014, 17:46
пожалуйста, если что обращайтесь буду рад оказать помощь
1
2 / 2 / 0
Регистрация: 23.04.2010
Сообщений: 155
22.03.2014, 15:42  [ТС]
Алекcей, этот код удаляет в том случаи, если в базе удаляемое ФИО стоит первым. Как сделать так, чтоб он перебирать мог в базе, находить задаваемое ФИО и удалять

Добавлено через 2 часа 21 минуту
Кому интересно сделал так. Предварительно на форме выводится ID в lable
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
ida:Integer;
begin
ADOTable1.Open;
if (ADOTable1.Locate('FIO_pac', EditFIO.Text, [])=true) then
 begin
    if MessageDlg('Вы действительно хотите удалить?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
     ida:=StrToInt(Lid.Caption);
     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Text:='DELETE FROM MRT_GRUD where id=:ida';
     ADOQuery1.Parameters[0].Value:=ida;
     ADOQuery1.ExecSQL;
     ShowMessage(EditFIO.Text+' успешно удален(а) из базы.');
    end;
 end
 else ShowMessage('Не найдено!');
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2014, 15:42
Помогаю со студенческими работами здесь

Удаление записи из dbf-файла в ADO. Query too complex
Наблюдается странная вещь...Записи добавляются в файл дбф но не удаляются... появляется ран тайм еррор и говорит Query too complex и...

Как добавлять записи в таблицу базы данных Access программно через ADO?
Как добавлять записи в таблицу базы данных Access программно через ADO?:yahoo:

Удаление записи из Access
Здравствуйте, форумчане! Собственно, есть небольшая проблемка. Не удаляется запись из таблицы, база Access. Добавление записи в базу...

Удаление записи из БД access
Как можно переделать код, что-бы удалять выбранную запись(выделенную строку), а не по textBox'ам? private OleDbConnection...

Удаление последней записи access
Требуется удалить последнюю добавленную запись в таблицу. Нужно полагать, что сперва нужно определить кол-во записей. но что дальше?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru