【问题标题】:SQL query to SQL Server 2005 remotely using Borland Delphi使用 Borland Delphi 远程查询 SQL Server 2005
【发布时间】:2011-06-27 08:07:42
【问题描述】:

使用 Borland Delphi 远程对 SQL Server 2005 执行 SQL 查询的最简单方法是什么?

在本例中,我使用的是 Borland Delphi 7。

最简单的方法是,如果我必须使用 3rd 方组件,它应该集成到应用程序中(而不是单独/复杂的安装)。

问题是,我希望能够检查远程 SQL 服务器是否处于活动状态。

我知道,我们可以使用网络“ping”,但这并不意味着 SQL 服务器是完全可访问和正常运行的。

提前感谢任何提示:)

【问题讨论】:

    标签: sql sql-server delphi delphi-7


    【解决方案1】:

    最简单

    1. 在您的表单上放置一个TADOQuerycomponent。
    2. 填写connectionstring 属性(或使用... 构建按钮)。
    3. 将您的 SQL 语句放入 SQL 属性中。
    4. 将组件的Active 属性设置为True

    更好

    1. 使用TDatamodule
    2. 使用TADOConnection 组件。
    3. 将您的TADOQuery 组件链接到TADOConnection 组件。
    4. 在设计时需要 io 时在运行时激活您的查询。运行应用程序时,设计时的活动连接或查询通常最终会浪费 CPU 周期。

    控制台应用程序

    program SimpleSQL;
    
    {$APPTYPE CONSOLE}
    
    uses
      ADODB,
      SysUtils;
    
    var
      qry: TADOQuery;
    begin
      qry := TADOQuery.Create(nil);
      try
        qry.ConnectionString := 'AConnectionString';
    
        // Update
        qry.SQL.Text := 'UPDATE YourTable SET FieldX = FieldY';
        qry.ExecSQL;
    
        // Select
        qry.SQL.Text := 'SELECT FieldX FROM dbo.YourTable';
        qry.Open;
        qry.First;
        while not qry.Eof do
        begin
          Output(qry.Fields[0].AsString);
          qry.Next;
        end;
        qry.Close;    
    
      finally
        qry.Free;
      end;
    end.
    

    【讨论】:

    • 控制台应用程序可以做到这一点吗?因为我的应用是控制台应用。
    • @ewlung:不,不是。我添加了一个简单的控制台应用程序示例来执行更新和选择语句。
    • 对于控制台应用程序,请确保调用 'CoInitialize(nil);' (使用 ActiveX 单元)初始化 OLE。再说一次,由于您使用 ADODB,OLE 系统也会被初始化。
    • 我还发现这很有用:stackoverflow.com/questions/2918016/…
    猜你喜欢
    • 1970-01-01
    • 2011-01-25
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多