您现在的位置:天极网 > 开发频道 > 动态配置ODBC数据源
全文

动态配置ODBC数据源

2000-11-30 00:00作者:ilamei 出处:yesky责任编辑:

  为便于说明,假设主窗体名称为Form1,通过一命令钮Button1注册ODBC数据源。具体根据读者需要自行设定。

  procedure TForm1.Button1Click(Sender: TObject);varI : Integer;

  J : double;

  RegF: TextFile;

  SysDir: PChar;

  AppPath, Params, Path, DbPath: string;begin

  try

  //生成注册用的批处理文件

   Params :=′Regedit/s tmp.reg′; //批处理文件内容AppPath := ExtractFilePath(Application.ExeName); //取得应用程序当前路径AssignFile(RegF, AppPath+′Reg.Bat′); //指定批处理文件路径和名称ReWrite(RegF); //创建和打开指定的文本文件WriteLn(RegF, Params); //将注册命令批处理内容写入文件CloseFile(RegF);//生成注册表文件GetMem(SysDir, 255);GetSystemDirectory(SysDir, 255); //取得Windows系统目录Path := String(SysDir);Path := InsertSplash(Path); //将类似C:\WINDOWS\SYSTEM变为C:\\WINDOWS\\SYSTEMDelete(AppPath, Length(AppPath), 1); //将字符串尾部′\′字符删除DbPath := InsertSplash(AppPath); //取得数据库存放路径Params := Format(OdbcStr, [Path, DbPath]);AssignFile(RegF, AppPath+′Tmp.Reg′);ReWrite(RegF);WriteLn(RegF, Params);CloseFile(RegF);//通过Api函数执行reg.bat, Uses中加入对ShellApi的引用If ShellExeCute(Application.Handle,′Open′,′Reg.bat′,′′, PChar(AppPath), SW_HIDE) $#@60;= 32

   then

   Showmessage(′导入注册表文件信息失败′);finallyFreeMem(SysDir);end;end;上述代码调用了一字符串处理函数InsertSplash,用于将路径字符串中所有的′\′处理为′\\′;这样做是必需的,否则,上述注册信息DRIVER和DBQ项无法正确注册。InsertSplash函数代码如下:

  function InsertSplash(AStr: string): string; //需要在单元公有部分进行函数声明var

  I : Integer;begin

  For I := 1 to Length(AStr) do

  case AStr[I] =′\′of

  True : Result := Result+′\\′;

  False: Result := Result+AStr[I];end;上述操作实现ODBC数据源的动态注册并没有通过Delphi特有的功能去完成,而只是通过文件读写功能,根据具体安装环境,生成ODBC数据源注册信息和批处理文件,以完成ODBC数据源的注册。这种实现方法不依赖于某种特定的开发工具,不需要通过手工进行ODBC数据源的配置,具有通用性强和操作简单的特点。而且,用上述同样的方法,读者也可编写能够注册其它类型数据源的程序,甚至,写成ODBC注册动态连接库,以利于程序复用。
共4页。 9 1 2 3 4 :

软件资讯·软件下载尽在天极软件

相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868 023-63659988
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|52PK游戏网|IT分众