1

Delphi 10.1 BerlinTADODataSetでプログラムを操作しようとしています

これが私のコードです:

rsGrid.Connection := MyADOConn;
rsGrid.CommandType := cmdText;
rsGrid.CommandText := 'my_StoredProc 100';
rsGrid.IndexName := 'ObjectID';

rsGrid.Active := True; //***** Showstopper here! *****// 

while not rsGrid.Eof do
begin
   Memo1.Lines.Add(rsGrid.FieldByName('ObjectID').AsString);
   rsGrid.Next;
end;

DataSetのConnectionプロパティは次のように設定されます。

function TMainForm.MyADOConn: TADOConnection;
begin
    Result := TADOConnection.Create(nil);
    with Result do
    begin
        ConnectionString := 'Provider=SQLNCLI11.1;Persist Security Info=False;User ID=user15;Password=mypassword;Initial Catalog=MyDB;Data Source=my.server.com;Initial File Name="";Server SPN=""'';
        KeepConnection := True;
        IsolationLevel := ilCursorStability;
        Mode := cmUnknown;
        LoginPrompt := False;
        Connected := True;
    end;
end;

データベースは SQL Server 2012 なので、SQL Server Native Client 10 と 11 (それぞれProvider=SQLNCLI10.1Provider=SQLNCLI11.1) で実行してみました。

後でこの TADODataSet を Grid コンポーネント (TDataSet 経由) で使用する予定ですが、XE8、シアトル、そして現在はベルリンでこれを機能させることができませんでした。ハングアップするだけrsGrid.Active := Trueです。私も試しrsGrid.Openましたが、うまくいきません。

同時に、私の XE4 では完全にコンパイルおよび実行されます。ベルリンで私が間違っていることは何ですか?

4

1 に答える 1