Странное поведение 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)); данные в грид выводятся, но при этом выскакивает окно исключения. Как исправить?