我正在尝试在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 上编译和执行。我在柏林做错了什么?