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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2012, 16:33   #1
Psayker
Пользователь
 
Регистрация: 15.04.2009
Сообщений: 42
По умолчанию BDGrid и ADO (Удаление строк)

Мне нужно удалить строку из DBGrid и собственно из самой базы. Копку удаления сделал, код написал, но строка как была в гриде,так там и осталась. Вот код:
Код:
void __fastcall TForm5::Button2Click(TObject *Sender)
{
try {
Form1->ADOCommand1->CommandText="delete from [Курсовая].[dbo].[Клиент] where [Код клиента]=:id";
Form1->ADOCommand1->Parameters->ParamByName("id")->Value=ADOQuery1->FieldByName("Код клиента")->AsString;
Form1->ADOCommand1->Execute();
ADOQuery1->Active=false;
ADOQuery1->Active=true;
} catch (...) {ShowMessage("Данную запись нельзя удалить!");
}
Помогите пожалуйста, в чём тут ошибка?
Psayker вне форума Ответить с цитированием
Старый 26.03.2012, 16:45   #2
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Может сначала id надо получить?

Код:
Form1->ADOCommand1->Parameters->ParamByName("id")->Value=ADOQuery1->FieldByName("Код клиента")->AsString;
Form1->ADOCommand1->CommandText="delete from [Курсовая].[dbo].[Клиент] where [Код клиента]=:id";
Еще вместо
Код:
ADOQuery1->Active=false;
ADOQuery1->Active=true;
можно
Код:
ADOQuery1->Refresh();
Знающий не говорит, говорящий не знает (С) Лао Цзы

Последний раз редактировалось Krok27; 26.03.2012 в 16:47.
Krok27 вне форума Ответить с цитированием
Старый 26.03.2012, 16:56   #3
Psayker
Пользователь
 
Регистрация: 15.04.2009
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Krok27 Посмотреть сообщение
Может сначала id надо получить?

Код:
Form1->ADOCommand1->Parameters->ParamByName("id")->Value=ADOQuery1->FieldByName("Код клиента")->AsString;
Form1->ADOCommand1->CommandText="delete from [Курсовая].[dbo].[Клиент] where [Код клиента]=:id";
нет,тогда он переменную id не видит
Psayker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление записи. ADO Rekky БД в Delphi 13 02.11.2011 12:46
Авто нумерация строк в BDGrid Denis Black БД в Delphi 6 25.05.2011 18:38
Логическое удаление в ADO Айдар БД в Delphi 1 22.12.2010 13:56
Удаление текущей записи Ado palochka БД в Delphi 8 20.05.2010 11:42
как из одной BDgrid скопировать выделенное поле в другую BDgrid Шурик БД в Delphi 7 03.05.2007 14:24