Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
demo1.pas
Package: 动态设置ODBC数据源.rar [view]
Upload User: zfeng_2008
Upload Date: 2007-02-25
Package Size: 5k
Code Size: 2k
Category:
ADO-ODBC
Development Platform:
Delphi
- 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.