demo1.pas
上传用户:zfeng_2008
上传日期:2007-02-25
资源大小:5k
文件大小:2k
- unit demo1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls,Registry;
- type
- TForm1 = class(TForm)
- Label1: TLabel;
- Label2: TLabel;
- Edit1: TEdit;
- Edit2: TEdit;
- Button1: TButton;
- memo1: TMemo;
- procedure Button1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.dfm}
- procedure TForm1.Button1Click(Sender: TObject);
- var
- registerTemp : TRegistry;
- bData : array[ 0..0 ] of byte;
- begin
- registerTemp := TRegistry.Create; //建立一个Registry实例
- with registerTemp do
- begin
- RootKey:=HKEY_LOCAL_MACHINE;//设置根键值为HKEY_LOCAL_MACHINE
- //找到SoftwareODBCODBC.INIODBC Data Sources
- if OpenKey('SoftwareODBCODBC.INIODBC Data Sources',True) then
- begin //注册一个DSN名称
- WriteString( 'MyAccess', 'Microsoft Access Driver (*.mdb)' );
- end
- else
- begin//创建键值失败
- memo1.lines.add('增加ODBC数据源失败');
- exit;
- end;
- CloseKey;
- //找到或创建SoftwareODBCODBC.INIMyAccess,写入DSN配置信息
- if OpenKey('SoftwareODBCODBC.INIMyAccess',True) then
- begin
- WriteString( 'DBQ', edit2.text );//数据库目录
- WriteString( 'Description', '我的数据库设置' );//数据源描述
- WriteString( 'Driver', 'C:WINNTSYSTEM32odbcjt32.dll' );//驱动程序DLL文件
- WriteInteger( 'DriverId', 25 );//驱动程序标识
- WriteString( 'FIL', 'Ms Access;' );//Filter依据
- WriteInteger( 'SafeTransaction', 0 );//支持的事务操作数目
- WriteString( 'UID', '' );//用户名称
- bData[0] := 0;
- WriteBinaryData( 'Exclusive', bData, 1 );//非独占方式
- WriteBinaryData( 'ReadOnly', bData, 1 );//非只读方式
- end
- else//创建键值失败
- begin
- memo1.lines.add('增加ODBC数据源失败');
- exit;
- end;
- CloseKey;
- //找到或创建SoftwareODBCODBC.INIMyAccessEnginesJet
- //写入DSN数据库引擎配置信息
- if OpenKey('SoftwareODBCODBC.INIMyAccessEnginesJet',True) then
- begin
- WriteString( 'ImplicitCommitSync', 'Yes' );
- WriteInteger( 'MaxBufferSize', 512 );//缓冲区大小
- WriteInteger( 'PageTimeout', 10 );//页超时
- WriteInteger( 'Threads', 3 );//支持的线程数目
- WriteString( 'UserCommitSync', 'Yes' );
- end
- else//创建键值失败
- begin
- memo1.lines.add('增加ODBC数据源失败');
- exit;
- end;
- CloseKey;
- memo1.lines.add('增加新ODBC数据源成功');
- Free;
- end;
- end;
- end.