首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dbExpress TSQLConnection参数问题

dbExpress TSQLConnection参数问题
EN

Stack Overflow用户
提问于 2011-12-18 05:37:18
回答 3查看 4.6K关注 0票数 2

我是dbexpress的新手,我不知道如何在运行时为SQL Host name设置TSQLConnection参数。当我在客户端系统上安装我的程序时,TSQLConnectionHost仍然从我在开发期间进入的开发系统中读取主机。

EN

回答 3

Stack Overflow用户

发布于 2011-12-18 06:14:06

TSQLConnection.Params的类型为TStrings,这意味着它包含一组String项。对于TSQLConnection,Params保存一组Name=Value对,其中Name是参数名,Value是参数值。要读取特定参数的值,请使用:

代码语言:javascript
复制
var
  s: String;
...
s := SQLConnection1.Params.Values['ParamName'];

要为特定参数赋值,请使用:

代码语言:javascript
复制
SQLConnection1.Params.Values['ParamName'] := 'NewValue';

(用实际的参数名替换'ParamName‘,用实际的新值替换'NewValue’。)

票数 2
EN

Stack Overflow用户

发布于 2011-12-18 15:02:47

几年前,当我开始使用dbExpress进行开发时,我就遇到了这个问题。在我的开发机器上,数据库在位置X,而生产机器在位置Y。我解决这个问题的方法是将数据库的物理位置存储在注册表中(通过我编写的一个小实用程序),然后使用以下代码加载正确的值。该位置可以存储在INI文件中,这需要对我的代码稍作修改,但这一部分并不重要。

代码语言:javascript
复制
procedure TDm.SQLConnection1BeforeConnect(Sender: TObject);
var
 dir: string;

begin
 with TRegIniFile.create (regpath) do   // this is where I get the physical value
  begin
   dir:= ReadString ('firebird', progname, '');
   free
  end;

 with sqlconnection1 do
  begin
   close;
   params.values['database']:= dir;
  end;
end;
票数 0
EN

Stack Overflow用户

发布于 2012-03-08 00:22:12

出现问题的原因是在分发应用程序之前没有断开SQLConnection和所有数据集的连接。要做的事情a)确保所有组件都没有连接。b)将SQLConnection的参数设置为空白。c)启动应用程序时,从ini文件中读取所需的连接参数,并用这些参数填充SQLConnection。d)然后连接,你就会很好!致敬Chris

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

https://stackoverflow.com/questions/8548099

复制
相关文章

相似问题

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