用Dehphi怎么连ACCESS数据库呢?不用ODBC配置,要直接连接的。

时间:2022-01-23 19:45:25
用Dehphi怎么连ACCESS数据库呢?不用ODBC配置,要直接连接的。
就是用绝对路径,或是相对路径直接连的。要怎么做呢?

7 个解决方案

#1


使用ADO:
如下:  adoDb.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[mdb文件全名];Persist Security Info=False;Jet OLEDB:Database Password=[密码];

#2


var
  sconstr:string;//连接语句
  sdbpath:string;//数据库路径
  smm:string;//密码
begin
  smm:='dddddd';
  try
    if OpenDialog1.Execute=true then
    sdbpath:=OpenDialog1.FileName;
    sconstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+
           'User ID=Admin;Data Source='+sdbpath+';'+
           'Mode=Share Deny None;Extended Properties="";'+
           'Locale Identifier=2052;Persist Security Info=False;'+
           'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
           'Jet OLEDB:Database Password='+smm+';'+
           'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;'+
           'Jet OLEDB:Global Partial Bulk Ops=2;'+
           'Jet OLEDB:Global Bulk Transactions=1;'+
           'Jet OLEDB:New Database Password="";'+
           'Jet OLEDB:Create System Database=False;'+
           'Jet OLEDB:Encrypt Database=False;'+
           'Jet OLEDB:Don''t Copy Locale on Compact=False;'+
           'Jet OLEDB:Compact Without Replica Repair=False;'+
           'Jet OLEDB:SFP=False';
    if ADOCn1.Connected = True then ADOCn1.Connected:=False;
    ADOCn1.ConnectionString:=sconstr;
    ADOCn1.Connected:=True;
  except
    Application.MessageBox('无法连接数据库!','错误',MB_OK+MB_ICONSTOP);
    Halt;
  end;

end;

#3


拖个ADOConnection在窗体上,双击,选第二个(默认),再build,提供者选第一个,也就是Microsoft.Jet 4.0 OLE DB Provider,再下一步,选择数据库(*.mdb),若有用户名密码请在2里面输入,测试连接,OK
连接成功后所得字符串如楼上老兄一般,此法系统自动生成

#4


数据库可以用相对路径,把前面一节去掉便是,绝对路径不要使用,不爽

#5


谢谢高手指教

#6


正确,楼上的都乃高手也

#7


说得那么复杂。。
~~~~~~~~~~~
拖一个DATAMODULE,往里面加ADOCONNECTION,ADODATASET,DATASOURCR。
设置adoconnection的connectionstring属性。按提示设置好数据库驱动,路径等。
并设置它的connection为TRUE,KEEPTION为TRUE
设置ADOCDATASET,它的connetion为adoconnection.command text为你的数据库表名。
设置DATASOURCE,它的DATASET为ADODATASET。。
就OK了。。
~~~~~~~~~~~~~
呵呵 。。。

#1


使用ADO:
如下:  adoDb.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[mdb文件全名];Persist Security Info=False;Jet OLEDB:Database Password=[密码];

#2


var
  sconstr:string;//连接语句
  sdbpath:string;//数据库路径
  smm:string;//密码
begin
  smm:='dddddd';
  try
    if OpenDialog1.Execute=true then
    sdbpath:=OpenDialog1.FileName;
    sconstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+
           'User ID=Admin;Data Source='+sdbpath+';'+
           'Mode=Share Deny None;Extended Properties="";'+
           'Locale Identifier=2052;Persist Security Info=False;'+
           'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
           'Jet OLEDB:Database Password='+smm+';'+
           'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;'+
           'Jet OLEDB:Global Partial Bulk Ops=2;'+
           'Jet OLEDB:Global Bulk Transactions=1;'+
           'Jet OLEDB:New Database Password="";'+
           'Jet OLEDB:Create System Database=False;'+
           'Jet OLEDB:Encrypt Database=False;'+
           'Jet OLEDB:Don''t Copy Locale on Compact=False;'+
           'Jet OLEDB:Compact Without Replica Repair=False;'+
           'Jet OLEDB:SFP=False';
    if ADOCn1.Connected = True then ADOCn1.Connected:=False;
    ADOCn1.ConnectionString:=sconstr;
    ADOCn1.Connected:=True;
  except
    Application.MessageBox('无法连接数据库!','错误',MB_OK+MB_ICONSTOP);
    Halt;
  end;

end;

#3


拖个ADOConnection在窗体上,双击,选第二个(默认),再build,提供者选第一个,也就是Microsoft.Jet 4.0 OLE DB Provider,再下一步,选择数据库(*.mdb),若有用户名密码请在2里面输入,测试连接,OK
连接成功后所得字符串如楼上老兄一般,此法系统自动生成

#4


数据库可以用相对路径,把前面一节去掉便是,绝对路径不要使用,不爽

#5


谢谢高手指教

#6


正确,楼上的都乃高手也

#7


说得那么复杂。。
~~~~~~~~~~~
拖一个DATAMODULE,往里面加ADOCONNECTION,ADODATASET,DATASOURCR。
设置adoconnection的connectionstring属性。按提示设置好数据库驱动,路径等。
并设置它的connection为TRUE,KEEPTION为TRUE
设置ADOCDATASET,它的connetion为adoconnection.command text为你的数据库表名。
设置DATASOURCE,它的DATASET为ADODATASET。。
就OK了。。
~~~~~~~~~~~~~
呵呵 。。。