Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.15;
Скачать: CL | DM;

Вниз

Ошибка ADOQuery.   Найти похожие ветки 

 
vikm ©   (2007-03-21 18:28) [0]

Приветик всем знатокам Delphi.
Я начинающий, поэтому просьба не пинать если вопрос покажется глупым. Вот кусок кода который добавляет запись в базу данных:

procedure TForm_AddPerson.AddPerson_AddBtnClick(Sender: TObject);
var
 str1, str2, str3, str4, str5: string;
begin
 if AddPerson_eSurname.Text = "" then
   begin
     MessageDlg("Вы не ввели фамилию! Повторите ввод.",mtWarning,[mbOK],0);
     AddPerson_eSurname.SetFocus;
     AddPerson_AddBtn.Enabled := False;
     Abort;
   end;
 if AddPerson_eName.Text = "" then
   begin
     MessageDlg("Вы не ввели имя! Повторите ввод.",mtWarning,[mbOK],0);
     AddPerson_eName.SetFocus;
     AddPerson_AddBtn.Enabled := False;
     Abort;
   end;
 str1 := AddPerson_eSurname.Text;
 str2 := AddPerson_eName.Text;
 str3 := AddPerson_ePatronymic.Text;
 str4 := AddPerson_eBorn.Text;
 str5 := "INSERT INTO person (surname,name,patronymic,born) VALUES(""" +
           str1 + """,""" + str2 + """,""" + str3 + """,""" + str4 + """)";
 try
   AddPerson_ADOQuery1.Close;  //закрывается запрос
   AddPerson_ADOQuery1.SQL.Clear;
   AddPerson_ADOQuery1.SQL.Add(str5);
   AddPerson_ADOQuery1.Open; //открывается запрос
 except //в случае ошибки базы данных выводится сообщение об ошибке
   on error:EDatabaseError do
     MessageDlg("Ошибка записи в базу "+error.Message+"!",mtError,[mbOK],0);
 end;
 Form_Person.Person_ADOTable1.Close;
 Form_Person.Person_ADOTable1.Open;
 AddPerson_AddBtn.Enabled := False;
 AddPerson_eSurname.Text := "";
 AddPerson_eName.Text := "";
 AddPerson_ePatronymic.Text := "";
 AddPerson_eBorn.Text := "";
 AddPerson_eSurname.SetFocus;
end;

При нажатии кнопки возникает ошибка:
AddPerson_ADOQuery1: CommandText does not return a result set.
Хотя после нажатии кнопки ОК данные в базу добавляются.Как поборото ошибку?


 
Desdechado ©   (2007-03-21 18:32) [1]

> AddPerson_ADOQuery1.Open; //открывается запрос
Открывается не запрос, а набор данных (Result set). Но твой запрос INSERT такого вернуть не может, поэтому ошибка. Используй метод ExecSQL.


 
vikm ©   (2007-03-21 18:39) [2]

Спасибо, всем вопрос закрыт. Только что и сам понял, что нужно использовать метод ExecSQL. Проверил, все работает ОК. Отдельное спасибо Desdechado.



Страницы: 1 вся ветка

Текущий архив: 2007.04.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.062 c
2-1174959952
>>DEATH<<
2007-03-27 05:45
2007.04.15
помогите исправить ошибку


3-1169214222
barakuda
2007-01-19 16:43
2007.04.15
програмная настройка БДЕ


1-1171660447
K@KTUS
2007-02-17 00:14
2007.04.15
Дубликаты в ListBox


2-1174917088
Sergionio
2007-03-26 17:51
2007.04.15
combobox и список таблиц


15-1173985485
tesseract
2007-03-15 22:04
2007.04.15
херай - японские басни. очень понравились