菜鸟的问题--关于ACCESS(50分)

  • 主题发起人 主题发起人 TIDE_LIU
  • 开始时间 开始时间
T

TIDE_LIU

Unregistered / Unconfirmed
GUEST, unregistred user!
在DELPHI中可以新建ACCESS数据库么!呵呵!怎么建法!帮帮忙!好像只能用ADO联!
不应该是这样吧!
 
我的意思是,好像ADO只可以用来联ACCESS,要新建ACCESS库怎么办?难道说不可以么?
 
这样不可以的话!谁能告诉我怎么通过 SAVEDIALOG 将一个指定文件拷贝到保存目录下
并改名为保存的文件名!
 
新建 Access 数据库可以通过 DAO 来实现。
VC 中的 CDaoDatabase->Create(lpszDatabaseName) 是
目前为止我找到的最好办法。
 
delphi 中好像没有dao,如何实现创建access?
 
试试:D5

先导入ADO的JRO_TLB(Project->Import Type Libary->
Microsoft Jet and replication Object 2.5 Libaray),

然后:


unit ADO_Access;

interface
uses
SysUtils, Forms, FileCtrl, Windows, Classes,
ComObj, JRO_TLB;

function CreateMDB(const MDBName: string; const PWD: string = '';
const MDBType: string = '97'): Boolean;
var
ADOVar: OleVariant;
sCreateString: string;
begin
Result := False;
//Check file and path exist
if FileExists(MDBName) then
begin
raise Exception.Create(MDBName + '已经存在!');
Exit;
end;
if not DirectoryExists(ExtractFilePath(MDBName)) then
begin
raise Exception.Create('文件路径:' + #13 + ExtractFilePath(MDBName) + #13
+ '不存在!');
Exit;
end;
//Set create string
sCreateString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';
sCreateString := sCreateString + MDBName + ';';
if MDBType = '97' then
sCreateString := sCreateString + 'Jet OLEDB:Engine Type=4'
else if MDBType = '2000' then
sCreateString := sCreateString + 'Jet OLEDB:Engine Type=5'
else begin
raise Exception.Create('本函数不支持建立其他格式的MS Access数据库!');
Exit;
end;
if PWD <> '' then
sCreateString := sCreateString + ';Jet OLEDB:Database Password=' + PWD;
//Create ADOX object
try
ADOVar := CreateOleObject('ADOX.Catalog');
ADOVar.Create(sCreateString);
Result := True;
except
raise Exception.Create('无法新建 MS Access ' + MDBType + ' 数据库:' + #13
+ MDBName);
end;
end;
 
1、ADOX
2、DAO(用KADao控件,到google上搜一把)
3、在程序带上一个原始的.mdb,用的时候copyfile
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
回复
0
查看
995
不得闲
S
回复
0
查看
744
SUNSTONE的Delphi笔记
S
后退
顶部