首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与TADODataSet在Delphi10.1柏林的问题。查询挂起

与TADODataSet在Delphi10.1柏林的问题。查询挂起
EN

Stack Overflow用户
提问于 2016-05-29 16:10:32
回答 1查看 894关注 0票数 1

我正试图在TADODataSetDelphi10.1柏林上运行一个程序

这是我的代码:

代码语言:javascript
复制
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;

Connection属性的DataSet设置如下:

代码语言:javascript
复制
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;

数据库是Server 2012,所以我尝试使用10和11 (分别是Provider=SQLNCLI10.1Provider=SQLNCLI11.1 )运行它。

我计划稍后在网格组件中使用这个TADODataSet (通过TDataSet),但我无法使它在XE8、西雅图和现在的柏林使用。它就挂在rsGrid.Active := True上。我也尝试过rsGrid.Open,但它也不起作用。

同时,它在我的XE4上完美地编译和执行。我在柏林做了什么错事?

EN

回答 1

Stack Overflow用户

发布于 2016-05-30 08:33:02

下面是发生的事。我将其作为答案发布,因此它可能会帮助其他人将Delphi早期版本(在XE8之前)的代码移植到XE 8/西雅图/柏林。

由于某种原因,在移植带有TADODataSet组件的表单时,它会丢失一些关键属性。换句话说,在传输时,组件丢失了一些属性(即LockType := ltOptimistic),这些属性在我的特定情况下是很重要的。

如何使它工作

要使您的代码恢复活力,只需将TADODataSet组件重新放置在表单上(删除它并放置一个新组件)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37512110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档