Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление выделенной строки из DBGrig через DataSet 
:(
    Опции темы
FOLGA
Дата 19.4.2010, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 6.8.2007

Репутация: нет
Всего: нет



Всем здравствуйте!
Вопрос следующего характера: нужно из DBGrid`а удалить выделенную строку. Где-то прочитала, что для этого достаточно поставить в Options DBGrid`а dgRowSelected в true и прописать код:
Код

procedure TForm3.Button2Click(Sender: TObject);

begin
if not DBGrid1.DataSource.DataSet.Eof then
DBGrid1.DataSource.DataSet.Delete;
end;

Но почему-то это не работает, он удаляет все записи из таблицы. Не подскажете, чего не хвататет?
PM MAIL   Вверх
former
Дата 19.4.2010, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 7
Всего: 17



Цитата(FOLGA @  19.4.2010,  08:46 Найти цитируемый пост)
Но почему-то это не работает, он удаляет все записи из таблицы. Не подскажете, чего не хвататет? 

FOLGA, ну правильно.
Код

procedure TForm3.Button2Click(Sender: TObject);
begin
  DataSet.Delete;
end;


Это сообщение отредактировал(а) former - 19.4.2010, 09:22


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Данкинг
Дата 19.4.2010, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



former, а чем "if not DBGrid1.DataSource.DataSet.Eof"-то мешает? Видимо, торможу. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
former
Дата 19.4.2010, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 7
Всего: 17



Цитата(Данкинг @  19.4.2010,  09:38 Найти цитируемый пост)
а чем "if not DBGrid1.DataSource.DataSet.Eof"-то мешает?

Данкинг, не-е-е, это видимо я торможу.  smile признак отсутствия записей в наборе данных.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
casinosoftguru
Дата 19.4.2010, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.12.2008

Репутация: нет
Всего: нет



еще можно DataController.DeleteFocused
PM MAIL   Вверх
former
Дата 19.4.2010, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 7
Всего: 17



Цитата(casinosoftguru @  19.4.2010,  10:53 Найти цитируемый пост)
еще можно DataController.DeleteFocused 

smile Где у стандартного DBGrid-а такое свойство (DataController).  Не надо путать с cxGrid.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Deniz
Дата 19.4.2010, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(casinosoftguru @  19.4.2010,  12:53 Найти цитируемый пост)
еще можно DataController.DeleteFocused
а это еще из какой оперы?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
FOLGA
Дата 19.4.2010, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 6.8.2007

Репутация: нет
Всего: нет



Ну так что же мне делать-то? Причем при нажатии кнопки все работает нормально, а при повторном открытии приложения база "пустеет"... smile 
PM MAIL   Вверх
Frees
Дата 19.4.2010, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



какие компоненты доступа используешь?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
FOLGA
Дата 19.4.2010, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 6.8.2007

Репутация: нет
Всего: нет



Frees,  IBdataBase, IBDataSet, IBDataSource, IBDataTransaction, база FireBird 2.1
PM MAIL   Вверх
Данкинг
Дата 19.4.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



FOLGA, если FB, то удаляй запросом лучше. Он ИМХО всё же лучше под запросы заточен.

Добавлено через 45 секунд
Цитата(former @  19.4.2010,  11:13 Найти цитируемый пост)
признак отсутствия записей в наборе данных. 

Ну так из-за этого же вся таблица точно удаляться не будет. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
FOLGA
Дата 19.4.2010, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 6.8.2007

Репутация: нет
Всего: нет



Цитата(Данкинг @ 19.4.2010,  13:59)
FOLGA, если FB, то удаляй запросом лучше. Он ИМХО всё же лучше под запросы заточен.

А это как? (теперь можете долго кричать и ругаться)
PM MAIL   Вверх
Данкинг
Дата 19.4.2010, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(FOLGA @  19.4.2010,  15:03 Найти цитируемый пост)
А это как? 

Это через IbQuery, только в таблице необходимо уникальное поле для условия запроса (where...)
Цитата(FOLGA @  19.4.2010,  15:03 Найти цитируемый пост)
теперь можете долго кричать и ругаться

Прочитай любую книгу по работе с БД (необязательно FB). Суть работы запросов везде одинакова. Да и на форуме примеров масса. smile

Добавлено через 1 минуту и 6 секунд
Да и в любом случае метод Dataset.Delete не должен очищать всю таблицу. Он или удаляет активную запись, или же вообще не работает. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Frees
Дата 19.4.2010, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



TIBDataSet говоришь, а что у тебя в нем в DeleteSql написано? сдается мне что там условия нет...

Добавлено через 3 минуты и 51 секунду
Цитата(Данкинг @  19.4.2010,  17:13 Найти цитируемый пост)
Да и в любом случае метод Dataset.Delete не должен очищать всю таблицу. Он или удаляет активную запись, или же вообще не работает. smile 

это зависит от того какой запрос на удаление написан


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Данкинг
Дата 19.4.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Frees @  19.4.2010,  15:24 Найти цитируемый пост)
это зависит от того какой запрос на удаление написан 

Возможно, я просто с FB обычно использую IbQuery и всё. Зачем там датасеты всякие?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0954 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.