Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление выделенной строки из DBGrid БЕЗ Ado 
:(
    Опции темы
Solominka
Дата 18.12.2009, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте, уже битый день сижу над проблемой удаления выделенной строки из Базы Данных в Delphi через компонент DBGrid. Написала код для очищения всей таблицы, а нужно чтобы удаляло только выделенную строку после нажатия кнопки.
Перерыла пол интернета, но везде какие-то ADO-компоненты,а  у меня обычные Query...
Подскажите пожалуйста, что нужно исправить, чтобы удаляло одну строку?
Вот код, удаляющий все записи в таблице и БД:

Цитата

begin

Query1.SQL.Text:='delete from zakaz where id='+
Form3.Query1.FieldByName('ID').AsString;
Form3.Query1.FieldByName('Parametr').AsString;
Query1.SQL.Add('SELECT * from Zakaz');

end;


PM MAIL   Вверх
Данкинг
Дата 18.12.2009, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Solominka @  18.12.2009,  18:33 Найти цитируемый пост)
удаления выделенной строки из Базы Данных в Delphi через компонент DBGrid

 smile  smile  smile 

Цитата(Solominka @  18.12.2009,  18:33 Найти цитируемый пост)
но везде какие-то ADO-компоненты,а  у меня обычные Query.

Обычные Query? smile  А подключаешься-то через что? И какая СУБД?

Цитата(Solominka @  18.12.2009,  18:33 Найти цитируемый пост)
Вот код, удаляющий все записи в таблице и БД:

Это что за бред? smile Удаление всех записей из таблицы осуществляется запросом, к примеру:
Код

AdoQuery.Close;
AdoQuery.SQL.Clear;
AdoQuery.SQL.text:='delete from TABLE';
AdoQuery.ExecSQL;

Если же требуется удалить только ту строку, на которой стоит курсор в Гриде, то никаких запросов не надо, достаточно просто:
Код

AdoTable.Delete;

AdoTable - это тот набор данных, который отображается в Гриде. 

Это сообщение отредактировал(а) Данкинг - 18.12.2009, 18:54


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


Шустрый
*


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

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



Эмм...
Если честно ответов на ваши вопросы я не знаю... У меня нет никаких ADO в программе... НИ ЕДИНОГО НЕТ... И с ними НИЧЕГО не работает в моей программе

Вот исходники... Интересует форма 3... Там есть кнопка "Удалить заказ", в от к ней надо написать код этого самого удаления строки из таблицы и БД...
Исходник
Чтобы работало нужно просто скопировать извлечённую папку на диск С.

Программа была написана по тому же принципу, что и делались лабораторные работы, поэтому там и нет этих ADO и я не знаю что это такое....


PM MAIL   Вверх
Данкинг
Дата 18.12.2009, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Solominka @  18.12.2009,  19:24 Найти цитируемый пост)
Если честно ответов на ваши вопросы я не знаю...

И какая СУБД не знаешь? smile  smile  smile Тогда сначала почитай умные книжки - мой тебе совет. smile А с темами "ничего не знаю (+10 грустных смайликов), сделайте за меня (+15 весёлых смайликов)" - это в "центр помощи".

Добавлено @ 20:13
Цитата(Solominka @  18.12.2009,  19:24 Найти цитируемый пост)
Программа была написана по тому же принципу, что и делались лабораторные работы

Да, нам это о многом говорит. smile 

Это сообщение отредактировал(а) Данкинг - 18.12.2009, 20:13


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


Шустрый
*


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

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



Способ доступа - BDE... База данных Microsoft SQL Server 2005 кажется...
К сведению, я заочница и нам вообще ничего не объясняют, а читать умные книжки, в которых всё заумным языком написано и ничерта не понятно - у меня нет времени. Программа НАПИСАНА, просто нужно исправить пару вещей которые РАБОТАЮТ, просто не совсем так как хотелось бы...
PM MAIL   Вверх
Данкинг
Дата 18.12.2009, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Извиняюсь за. smile 
 smile 

Цитата(Solominka @  18.12.2009,  20:19 Найти цитируемый пост)
База данных Microsoft SQL Server 2005 кажется...

А в примере - Парадокс. smile 

Цитата(Solominka @  18.12.2009,  20:19 Найти цитируемый пост)
К сведению, я заочница и нам вообще ничего не объясняют

Ах, ничего не объясняют, только спрашивают. Ужас. smile 

Цитата(Solominka @  18.12.2009,  20:19 Найти цитируемый пост)
а читать умные книжки, в которых всё заумным языком написано и ничерта не понятно - у меня нет времени. 

А зачем тебе высшее образование, если ты не только ничего не знаешь, но и не стремишься к знаниям?

Цитата(Solominka @  18.12.2009,  20:19 Найти цитируемый пост)
исправить пару вещей которые РАБОТАЮТ, просто не совсем так как хотелось бы... 

"Если не можешь исправить вещи - измени своё отношение к ним". smile







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


Шустрый
*


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

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



С этими двумя ошибками я сижу уже двое суток...
Данкинг, вижу что вам весело,  вы только стебётесь, вместо того чтобы хотя бы попытаться помочь...
Рада за Вас...

PM MAIL   Вверх
Данкинг
Дата 18.12.2009, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Solominka @  18.12.2009,  20:28 Найти цитируемый пост)
С этими двумя ошибками я сижу уже двое суток...

А с семью ошибками бы недельку посидела? smile 

Цитата(Solominka @  18.12.2009,  20:28 Найти цитируемый пост)
чтобы хотя бы попытаться помочь...

Да я бы рад попытаться, кабы знал, в чём.


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


Шустрый
*


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

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



Данкинг, я и с двумя ошибками могу сидеть неделю...
Программу тем не менее я писала сама всю...

А что, проблема описана вполне подробно... А то, что вы не юзаете Прадокс и у вас нет Диска С, это уже другой вопрос...

PM MAIL   Вверх
chip_and_dayl
Дата 18.12.2009, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

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



Код

Query1.SQL.Text:='delete from zakaz where id='+
Form3.Query1.FieldByName('ID').AsString;
Query1.ExecSQL;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * from Zakaz');
Query1.Open;


Добавлено через 2 минуты и 1 секунду
в кнопке удалить ставишь этот код, свой удаляй

Это сообщение отредактировал(а) chip_and_dayl - 18.12.2009, 21:34


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
Solominka
Дата 18.12.2009, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



chip_and_dayl, благодарю!
Всё подогнала под свою БД, всё работает!
Очень рада!

Зы: я уже сама всё поменяла, что где надо)))

p.S. С меня 2 торта  smile 


А можно ещё маленький, наверное оочень глупый, но всё же вопрос, касающийся прошлой задачи... вот там мне надо чтобы сумма при удалении из строки в StringGrid пересчитывалась, т.е. отнималась та сумма, ячейки которая удаляется...
Как правильно то сделать?

Я наивно полагала, что можно сделать так:

Цитата

  st:=st-Query1.FieldByName('Stoimost').AsInteger;
 Edit1.Text:=IntToStr(st)+' руб.'


Но оно как-то не так считает :(

Это сообщение отредактировал(а) Solominka - 18.12.2009, 21:44
PM MAIL   Вверх
chip_and_dayl
Дата 18.12.2009, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

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



ну да, удалять нужно сумму, которая убирается со СтрингГрид, а не ДбГрид
st:=st-StringGrid1.Cells[номер столбика где сумма];
 Edit1.Text:=IntToStr(st)+' руб.'


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
Данкинг
Дата 18.12.2009, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Solominka @  18.12.2009,  20:46 Найти цитируемый пост)
А что, проблема описана вполне подробно...

Ну-ну.

Цитата(Solominka @  18.12.2009,  20:46 Найти цитируемый пост)
А то, что вы не юзаете Прадокс и у вас нет Диска С, это уже другой вопрос...

По поводу парадокса - согласен, а по поводу диска C: - нет. Если ты напишешь программу, принесёшь её клиенту, а там выяснится, что диска С или нет, или нет прав на запись на него (часто системный диск защищают от глупых юзверей), то что ответишь на вопрос "почему ваша программа не работает"? В идеале, должен существовать конфигурационный файл, в котором прописан путь к БД.

Добавлено через 1 минуту и 40 секунд
Кстати, тема " Удаление выделенной строки из DBGrid БЕЗ Ado " - это тоже круть. smile 


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

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



Цитата(Данкинг @  18.12.2009,  21:50 Найти цитируемый пост)
конфигурационный файл, в котором прописан путь к БД.

Я всегда прописываю так путь к базе GetCurrecyDir+'\имябазы'. И никаких проблем нетуsmile 

По поводу темы да, я сам было подумал, что нужно удалить с отображения строку, но не с базы


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
Solominka
Дата 18.12.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



chip_and_dayl, написала ему:

Цитата

st:=st-StringGrid1.Cells[w,4];
 Edit1.Text:=IntToStr(st)+' руб.'


Жалуется на типы данных по-моему...


Данкинг, к счастью программы на заказ я не пишу... smile
Чего не умеем, того не умеем пока, к сожалению...
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.1198 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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