创建ACCSEE数据库的问题,CreateOleObject处出错,HELP ME!(100分)

  • 主题发起人 主题发起人 张剑波
  • 开始时间 开始时间

张剑波

Unregistered / Unconfirmed
GUEST, unregistred user!
var
CreateAccess:OleVariant;
begin
CreateAccess:=CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/Aceco.mdb');
end;
——————————————————————————
以上是部分代码,在CreateOleObject('ADOX.Catalog');编译通不过,
[Error] Unit1.pas(46): Undeclared identifier: 'CreateOleObject'
————————————————————————————
要先引入ADOX类型库,我已经照李维的做了,project->import type library-->
rename--->create unit
______________________
怎么办?

 
uses comobj;
 
你写的那几句话不需要要先引入ADOX类型库。
 
yzhshi:
如何引入ADOX类型库?
use ?
 
不需要那样,对于你上面的几句话。
来自:LuJuhe, 时间:2002-8-4 16:09:00, ID:1242025
uses comobj;
足够了。
 
如果要用?怎么办?
答完结贴。
THANKS
 
如果需要,就是uses你Import的那个pas。
建立数据库的我没有用过,我有一段压缩数据库的代码,其中之一就应该是使用那个的。
如下,供参考
Function CompactAndRepair(sOldMDB: String; sNewMDB: String): Boolean;
const
sProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;';
var
oJetEng: JetEngine;
begin
sOldMDB := sProvider + 'Data Source=' + sOldMDB;
sNewMDB := sProvider + 'Data Source=' + sNewMDB;

try
oJetEng := CoJetEngine.Create;
oJetEng.CompactDatabase(sOldMDB, sNewMDB);
oJetEng := Nil;
Result := True;
except
oJetEng := Nil;
Result := False;
end;
end;
d;
 
我建议你用实时连接的方法:
通过ODBC数据源,添加ACCESS类型的数据源(注:数据库选择你ACCESS数据库目录)
连接代码如下(如,解决问题别忘了给我发E—MAIL哟!):
try
system.Params.Clear;
system.Params.Add('database name='+Trim(Memo1.Lines[0]));
system.Params.Add('odbc dsn='+Trim(Memo1.Lines[1]));
system.Params.Add('user name='+Trim(Memo1.Lines[2]));
system.Params.Add('password=');
// ShowMessage(system.Params.Text);
if system.Connected=false then system.Connected:=true;
except
application.MessageBox('系统数据库连接失败,请检查你的配置?','错误',16);
application.Terminate;
end;
 
多人接受答案了。
 
后退
顶部