用以下程序创建access数据库,但提示错误,说没有注册类,为何?请赐教uses ComObj;
function CreateDatabase(mDatabaseName: string): Boolean;
var
CreateAccess: OLEVariant;
begin
Result := False;
try
CreateAccess := CreateOleObject('ADOX.Catalog');
try
CreateAccess.Create(Format( //运行到此错误
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%s%s.mdb',
[ExtractFilePath(Application.ExeName), mDatabaseName]));
finally
CreateAccess := Unassigned;
end;
except
Exit;
end;
Result := True;
end;
function CreateTable(mDatabaseName: string; mADOQuery: TADOQuery): Boolean;
begin
Result := False;
try
mADOQuery.Close;
mADOQuery.ConnectionString := Format(
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%s%s.mdb',
[ExtractFilePath(Application.ExeName), mDatabaseName]);
mADOQuery.SQL.Text := 'CREATE TABLE Table1 (Field1 varchar(10), Field2 varchar(10))';
mADOQuery.ExecSQL;
except
Exit;
end;
Result := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteFile(ExtractFilePath(Application.ExeName) + 'test.mdb');
CreateDatabase('test');
CreateTable('test', ADOQuery1);
end;
function CreateDatabase(mDatabaseName: string): Boolean;
var
CreateAccess: OLEVariant;
begin
Result := False;
try
CreateAccess := CreateOleObject('ADOX.Catalog');
try
CreateAccess.Create(Format( //运行到此错误
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%s%s.mdb',
[ExtractFilePath(Application.ExeName), mDatabaseName]));
finally
CreateAccess := Unassigned;
end;
except
Exit;
end;
Result := True;
end;
function CreateTable(mDatabaseName: string; mADOQuery: TADOQuery): Boolean;
begin
Result := False;
try
mADOQuery.Close;
mADOQuery.ConnectionString := Format(
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%s%s.mdb',
[ExtractFilePath(Application.ExeName), mDatabaseName]);
mADOQuery.SQL.Text := 'CREATE TABLE Table1 (Field1 varchar(10), Field2 varchar(10))';
mADOQuery.ExecSQL;
except
Exit;
end;
Result := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteFile(ExtractFilePath(Application.ExeName) + 'test.mdb');
CreateDatabase('test');
CreateTable('test', ADOQuery1);
end;
解决方案 »
- 如何在数据库中存储图片文件?
- TClientSocket 在win2000下不能通信!!!
- 在调用VC写的动态库中函数时,发生的错误
- 如何在tabsheet的show里面实现翻到其他页面
- delphi+sql2000+dbexpress做的系统如何实现两岸三地使用?
- 关于三层连接的速度问题
- FastReport打印问题?急,但不是很难!
- 帮忙看看这个线程有什么问题?读服务端内容!
- 中文金额转换。。。
- 有关win2000下关机的问题
- 请问我的应用程序在最小化的时候,图标已经加入了启动栏里,但任务栏里也有窗体,我想不要任务栏的,该怎么办?
- 用ExcelApp.Cells[1,4].Value := '第一行第四列'来设置单元格内容编译出错
装个MDAC2.7
改为OLEDB.4.0后提示“找不到可安装的ISAM.”
是 Data Source=
而非Data Source=
一个控格之差
绝对谣言
???
try
CreateAccess := CreateOleObject('ADOX.Catalog');
try
CreateAccess.Create(Format( //运行到此错误
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s%s1.mdb',
[ExtractFilePath(Application.ExeName), mDatabaseName]));
//CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.3.51;Data Source=c:\97.mdb');//Persist Security Info=False
finally
CreateAccess := Unassigned;
end;
except
Exit;
end;