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.1
とProvider=SQLNCLI11.1
) で実行してみました。
後でこの TADODataSet を Grid コンポーネント (TDataSet 経由) で使用する予定ですが、XE8、シアトル、そして現在はベルリンでこれを機能させることができませんでした。ハングアップするだけrsGrid.Active := True
です。私も試しrsGrid.Open
ましたが、うまくいきません。
同時に、私の XE4 では完全にコンパイルおよび実行されます。ベルリンで私が間違っていることは何ですか?