Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: DBGrid Delete  (Прочитано 5338 раз)
0 Пользователей и 1 Гость смотрят эту тему.
NOCaut
Гость
« : 16-07-2010 17:19 » 

БД: Access
связь: TadoQuary
отображение: TDBGrid
Как написать запрос для удаление записи?
Есть таблица: ID (инкримент)
|ID| |Name|
1 nam1
3 nam2
4 nam3
мне нада удалить поточную запись в Grid. Как получить id поточной записи грида?
Записан
NOCaut
Гость
« Ответ #1 : 16-07-2010 21:27 » new

Спасибо я решил етот вопрос примерно так:
AdoQuery1.Sql.Text := 'DELETE FROM table_name WHERE ID=:ident';
ADOQuery1.Parameters.ParamByName('ident').Value := ADOQuery1.FieldByName('ID').Value;
ADOQuery1.ExecSQL;
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #2 : 18-07-2010 12:20 » 

а почему не DBGrid.DataSource.Dataset.Delete; ?

я не очень понимаю, что вы "решили". надо думать, что грид привязан к ADOQuery1, т.к. именно из него вы берёте значение для своего запроса. но при этом вы меняете SQL этого же самого AdoQuery1. это значит, что в лучшем случае после запроса грид окажется пустым. да и вообще решение довольно дикое. почему просто не сказать ADOQuery1.Delete безо всяких запросов?
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines