Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Помогите из БД с помощью SQL запроса удалить выделенную строку в Visual C++ |
Философия, технологии, алгоритмы! |
|
Опции темы |
18.10.2005, 13:44 | #1 |
Форумец
Сообщений: 2,396
Регистрация: 14.05.2002
Возраст: 42
Не в сети |
Помогите решить задачу. Please!
Помогите из БД с помощью SQL запроса удалить выделенную строку в Visual С ++.
У меня есть таблица STUDENT. Из нее требуется удалить запись, на которой стоит курсор. При чем требуется это сделать с помощью SQL запроса. Help!!! Я пробовал так ADOQuery1->Active=false; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("delete from STUDENT ??? Where ?????"); ADOQuery1->ExecSQL(); ???-не знаю что написать. Может есть что-то для работы с курсором?HELP!!!!! Серега |
19.10.2005, 13:32 | #2 |
Пью пиво
Сообщений: 249
Регистрация: 14.09.2005
Возраст: 56
Не в сети |
Сначала получи идентификатор строки в которой стоит курсор. В нормальной таблице обычно существует такой.
В билдере я делал так: AnsiString Type=ADOQuery1->FieldByName("PersonID")->AsString; а уже потом делай delete from student where Type=PersonID |
19.10.2005, 13:59 | #3 |
Форумец
Сообщений: 2,396
Регистрация: 14.05.2002
Возраст: 42
Не в сети |
Вот мой обработчик на кнопку DEL
void __fastcall TForm1::Button4Click(TObject *Sender) { AnsiString Type=ADOQuery1->FieldByName("ID")->AsString; ADOQuery1->Active=false; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("delete from STUDENT Where Type=ID"); ADOQuery1->ExecSQL(); } Появляется ошибка: Параметр TYPE не имеет значения по умолчанию! Что дальше? |
19.10.2005, 17:30 | #4 |
Бывалый форумец
Сообщений: 687
Регистрация: 05.08.2005
Не в сети |
тогда уж
AnsiString Type=ADOQuery1->FieldByName("ID")->AsString; [...] ADOQuery1->SQL->Add("delete from STUDENT Where Type=" + Type); [...] А вообще такие вещи делают обычно с параметрическими запросами. Помедитируй над доками, я сама уже не помню нужный раздел. |
20.10.2005, 06:51 | #5 | |
Форумец
Сообщений: 2,045
Регистрация: 27.08.2003
Не в сети |
Цитата:
ADOQuery1->SQL->Add("delete from STUDENT Where ID = '"'" + Type + "'"'"); Только это не VC++, это CBuilder. И, с другой стороны, проще удалить без всякого SQL, а напрямую через датасет, раз курсор все равно на записи стоит. |
|