Странное поведение DBGrid при вставке результата запроса к MS SQL

Простая, казалось бы, обращаюсь к БД MS SQL, но в DBGrid вижу фигу.

procedure TForm1.Button1Click(Sender: TObject);
begin
  { реальные данные заменил троеточиями }
  ADOConn.ConnectionString := 'Provider=SQLOLEDB.1;User ID=...;Password=...;Initial Catalog=master;Data Source=...';
  ADOConn.LoginPrompt := False;
  ADOConn.Connected := True;

  ADOQuery.Connection := ADOConn;
  ADOQuery.SQL.Text := 'SELECT id, message, user FROM Corp.dbo.tickets';
  ADOQuery.Open;

  DataSource := ADOQuery.DataSource;
  DBGrid1.DataSource := DataSource;

  ADOQuery.Close;
  ADOConn.Close;
end;

Прикол в том, если вставить перед DataSource := ADOQuery.DataSource; нечто вроде ShowMessage(string(ADOQuery.Fields.Count)); данные в грид выводятся, но при этом выскакивает окно исключения. Как исправить?


Ответы (0 шт):