Главная страница
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.18 c
2-1175140126
Steep
2007-03-29 07:48
2007.04.15
Расширения


15-1174543153
FIkus
2007-03-22 08:59
2007.04.15
Вопрос электрикам


2-1174620688
delphim
2007-03-23 06:31
2007.04.15
разделитель целой и дробной частей


15-1174397332
Jeer
2007-03-20 16:28
2007.04.15
Ректор МГУ приказал срочно удалить "пиратский" софт


6-1161786868
Rey_Mysterio
2006-10-25 18:34
2007.04.15
Webbrowser:картинки и Javascript