exp |
Отправлено: 18.03.2005, 13:49 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Доброго времени суток всем.
Ситуация:
Использую SQL.
Есть база данных "ВУЗ".
Надо с помощью запроса добавить значения в таблицу "Университет".
Моя реализация:
CODE |
void __fastcall TMainForm::LabelClick(TObject *Sender)
{
if(UniversityForm->ShowModal() == mrOk)
{
AnsiString CommandLine = "";
CommandLine = "insert into Университет values";
CommandLine+= "('"+ UniversityForm->CodeEdit->Text+"',";
CommandLine+= "'"+UniversityForm->NameEdit->Text+"',";
CommandLine+= "'"+UniversityForm->RegionEdit->Text+"',";
CommandLine+= "'"+UniversityForm->AdressEdit->Text+"')";
ADODataSet1->Active = false;
ADODataSet1->CommandText = CommandLine;
ADODataSet1->Active = true;
}
}
|
Проблема:
После выполнения строки ADODataSet1->Active = true; выскакивает страшный эксепшн : "ADODataSet1: CommandText does not return a result set"
Особенность:
При повторном запуске проги и чтении базы данных введенные этим запросом данные отображаются в таблице.
Спасибо всем, кто откликнется.
|
|
AVC |
Отправлено: 18.03.2005, 13:56 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Заменить
ADODataSet1->Active = true;
на
ADODataSet1->ExecSQL();
Или, что строже, использовать компонент TADOCommand
PS.
QUOTE |
После выполнения строки ADODataSet1->Active = true; выскакивает страшный эксепшн : "ADODataSet1: CommandText does not return a result set"
Особенность:
При повторном запуске проги и чтении базы данных введенные этим запросом данные отображаются в таблице.
|
Все законоерно. Команда вставки выполняется и записи попадают в таблицу а затем компонент хочет получить набор записей (курсор) а его нет, вот он и ругается.
Отредактировано AVC — 18/03/2005, 12:59 |
|
Gedeon |
Отправлено: 18.03.2005, 13:58 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Не пугайтесь, ничего страшного нет, просто датасэт говорит Вам, что запрос не возвращает данные. Для устранения сей ошибки используйте метод ExecSQL датасета или воспользуйтесь компонентой TADOCommand.
|
|
exp |
Отправлено: 18.03.2005, 15:19 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Большое спасибо.
|
|