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 не возвращает поле "Код".
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы