function DBOpenDataSet(AConn: TADOConnection; ADODataSet: TADODataSet;
  sSql: string = ''): boolean;
begin
  with ADODataSet do
  begin
    Connection := AConn;
    Active := False;
    ConnectionString := '';
    LockType := ltBatchOptimistic;
    if Trim(sSql) <> '' then
      CommandText := sSql;
    CommandType := cmdText;
    Active := True; //在vista下运行到此句时,会卡个两三秒,在xp下则不会
  end;
  Result := True;
end;

解决方案 »

  1.   

    和数据库服务有关吧,不应该和客户端有关
    你用什么开发的客户端 delphi2007+? 以前版本开发出来的东西多少和vista有些不兼容
      

  2.   

    用delphi7开发,在vista运行程序连接xp系统下的sql2000好像会快些,直接连接本机vista下sql2005执行上面那句会卡好几秒。 原先的xp和sql2000是装到台式机上,vista和sql2005是安装在笔记本上。
      

  3.   

    已查明原因:问题出在sql2005没有启用Tcp/Ip协议
    启用方法:运行sql server configuration manager \ sql2005网络配置 \ 启用Tcp/IP