sorry_i_noob
@sorry_i_noob

Почему для выборки строки в БД через TADOQuery свойство SQL.active нужно устанавливать в true, а для вставки — не обязательно?

Здравствуйте. Есть такой код.
procedure TFormMain.Button7Click(Sender: TObject);
begin;

  FormMain.QueryOrganizer.SQL.Clear;
  FormMain.QueryOrganizer.SQL.Text := 'INSERT INTO Органайзер ' +
  '([Код поручения], [Код работника]) ' +
  'VALUES ' +
  '(1, 1)';
  FormMain.QueryOrganizer.ExecSQL;
 
  FormMain.QueryOrganizer.SQL.Clear;
  FormMain.QueryOrganizer.SQL.Text := 'SELECT * FROM Органайзер;';
  FormMain.QueryOrganizer.Active := true;
  FormMain.QueryOrganizer.ExecSQL;
  ShowMessage(FormMain.QueryOrganizer.FieldByName('Код').AsString);

  FrameOrganizer1.DBGrid1.Datasource.Dataset.Close;
  FrameOrganizer1.DBGrid1.Datasource.Dataset.Open;

end;

Если закомментировать строчку
FormMain.QueryOrganizer.Active := true;
То SELECT работать не будет - будет выдаваться popup с сообщением "QueryOrganizer: Field 'Код' not found". Однако INSERT по-прежнему будет работать. Почему так?
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Потому что INSERT не возвращает поле "Код".
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы