在odbc数据源里配置数据库,通过这种方式,应用程序的编写变的简单。只需要在应用程序里面指定已经配置好的数据源就可以连接,访问数据库。但是,这种方式也有一定的局限性,需要手工的在odbc数据源里面配置。需要教会程序的使用者如何去配置,而且,如果一不小心更改了odbc数据源的配置(也许是无意的)。就会造成连接数据库失败。这时候,程序的使用人员也许会一筹莫展,束手无策。
在form或data modules上放置tdatabase控件,属性设置如下:
object dbwork: tdatabase
databasename = 'work'
loginprompt = false
sessionname = 'default'
transisolation = tidirtyread
left = 32
top = 16
end
1)paradox数据库的连接
dbwork.connected := false
dbwork.drivername :='standard';
dbwork.params.values['path'] := ‘d:/data’; //填写数据库路径
dbwork.connected := true;
2)informix数据库的连接(bde连接)
dbwork.connected := false
dbwork.drivername := 'informix';
dbwork.params.values['server name'] := sserver ;//数据库服务器名称
dbwork.params.values['user name'] := suse ;//用户名称
dbwork.params.values['database name'] := ‘sysmaster;//数据库名称
dbwork.params.values['password'] := spass ;//用户密码
dbwork.connected:=true;
3) sql server数据库的连接(与informix一样)
dbwork.connected := false
dbwork.drivername := 'mssql';
dbwork.params.values['server name'] := sserver ;//数据库服务器名称
dbwork.params.values['user name'] := suse ;//用户名称
dbwork.params.values['database name'] := ‘master;//数据库名称
dbwork.params.values['password'] := spass ;//用户密码
dbwork.connected:=true;
4)postgrd sql数据库的连接(odbc连接)
dbwork.connected := false
dbwork.drivername := 'postgresql';
dbwork.params.values['odbc dsn'] := 'pgsql';/ /数据源名称
dbwork.params.values['server name'] := sserver ;//数据库服务器名称
dbwork.params.values['user name'] := suse ;//用户名称
dbwork.params.values['database name'] := ‘master;//数据库名称
dbwork.params.values['password'] := spass ;//用户密码
dbwork.connected:=true;
ps:odbc连接时,请保证odbc驱动安装正确;并且有设置odbc;
附自动设置odbc代码:
// sdriname 驱动程序名 (postgresql)
// sdsnname 数据源名
function createdsn(sdriname,sdsnname:string): boolean;
var
regtmp: tregistry;
stmp: string;
begin
result:= true;
regtmp:= tregistry.create;
try
with regtmp do
begin
rootkey:= hkey_local_machine;
if openkey('software\odbc\odbcinst.ini\'+sdriname,false) then
begin
stmp:= readstring('driver');
if stmp = '' then
begin
result:= false;
exit;
end;
end
else
begin
result:= false;
exit;
end;
closekey;
rootkey:= hkey_current_user;
if openkey('software\odbc\odbc.ini\odbc data sources',true) then
begin
if not valueexists(sdsnname) then
writestring(sdsnname,sdriname);