Форум: "Начинающим";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
ВнизОшибка 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c