求助,怎样用语句创建一个access数据库。
我想在程序执行时动态生成一个access数据库,应该怎么做啊! 问题点数:90、回复次数:8Top
1 楼zswang(伴水清清)(专家门诊清洁工)回复于 2002-06-13 10:58:03 得分 0
//参考
http://www.csdn.net/Expert/FAQ/FAQ_Index.asp?id=1656Top
2 楼debussy(debussy)回复于 2002-06-13 10:58:04 得分 20
Try ADOX
Top
3 楼debussy(debussy)回复于 2002-06-13 10:59:54 得分 0
Try ADOXTop
4 楼debussy(debussy)回复于 2002-06-13 11:01:57 得分 0
ADOX是Microsoft ActiveX Data Object Extension for Data Definition Language and Security的缩写。ADOX这个组对象允许程序员使用者组标准的对象来建立数据库结构信息,例如建立数据库、数据表和索引等,也可以使用ADOX来修改数据库结构信息。此外,ADOX也允许程序员为数据库加入安全机制,例如加入用户群组或用户,并且指定各种使用权限给不同的用户群组或用户。
----摘自李维《Delphi 5.x ADO/MTS/COM+高级程序设计篇》第131页
Top
5 楼cg1120(代码最优化-§惟坚韧者始能遂其志§)回复于 2002-06-13 11:02:14 得分 20
use ComObj
var
CreateAccess:OleVariant;
begin
AppPath:=ExtractFileDir(Application.ExeName);
CreateAccess:=CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+AppPath+'\bsdata\'+inputname+'.mdb');
end;Top
6 楼zswang(伴水清清)(专家门诊清洁工)回复于 2002-06-13 11:05:13 得分 0
uses ComObj;
function CreateConnection(mConnectionString: string): Boolean;
var
vADOCatalog: OLEVariant;
begin
Result := False;
try
vADOCatalog := CreateOleObject('ADOX.Catalog');
try
vADOCatalog.Create(mConnectionString);
Application.ProcessMessages; // :)
finally
vADOCatalog := Unassigned;
end;
except
Exit;
end;
Result := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateConnection(Format(
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%sTest.mdb',
[ExtractFilePath(Application.ExeName)]))
end;
Top
7 楼zswang(伴水清清)(专家门诊清洁工)回复于 2002-06-13 11:06:33 得分 0
uses ComObj;
function CreateConnection(mConnectionString: string): Boolean;
var
vADOCatalog: OLEVariant;
begin
Result := False;
try
vADOCatalog := CreateOleObject('ADOX.Catalog');
try
vADOCatalog.Create(mConnectionString);
Application.ProcessMessages; // :)
finally
vADOCatalog := Unassigned;
end;
except
Exit;
end;
Result := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateConnection(Format(
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%sTest.mdb',
[ExtractFilePath(Application.ExeName)]))
end;
Top
8 楼cg1120(代码最优化-§惟坚韧者始能遂其志§)回复于 2002-06-13 11:07:55 得分 0
以上程序只能创建ACCESS2000的数据库
照伴水兄说的,看看以下贴子:
http://www.csdn.net/expert/topic/749/749317.xml?temp=.1240045
Top
9 楼zswang(伴水清清)(专家门诊清洁工)回复于 2002-06-13 11:08:03 得分 0
uses ComObj;
function CreateConnection(mConnectionString: string): Boolean;
var
vADOCatalog: OLEVariant;
begin
Result := False;
try
vADOCatalog := CreateOleObject('ADOX.Catalog');
try
vADOCatalog.Create(mConnectionString);
Application.ProcessMessages; // :)
finally
vADOCatalog := Unassigned;
end;
except
Exit;
end;
Result := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateConnection(Format(
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%sTest.mdb',
[ExtractFilePath(Application.ExeName)]))
end;
Top
10 楼zswang(伴水清清)(专家门诊清洁工)回复于 2002-06-13 11:08:28 得分 0
uses ComObj;
function CreateConnection(mConnectionString: string): Boolean;
var
vADOCatalog: OLEVariant;
begin
Result := False;
try
vADOCatalog := CreateOleObject('ADOX.Catalog');
try
vADOCatalog.Create(mConnectionString);
Application.ProcessMessages; // :)
finally
vADOCatalog := Unassigned;
end;
except
Exit;
end;
Result := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateConnection(Format(
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%sTest.mdb',
[ExtractFilePath(Application.ExeName)]))
end;
Top
11 楼ihihonline(潇潇->戒烟)回复于 2002-06-13 11:14:50 得分 50
procedure Tproject.BitBtn1Click(Sender: TObject);
var
CreateAccess:OleVariant;
DataBaseName:ansiString;
ConnectStr:ansistring;
TdeForm:TTdeForm;
begin
SaveDialog1.InitialDir := ExtractFilePath(Application.ExeName) + '新建项目';
SaveDialog1.Title:='保存项目文件';
SaveDialog1.FileName:=ProjectNamesx;
if not SaveDialog1.Execute then
begin
close;
exit;
end else
begin
DataBaseName:=SaveDialog1.FileName;
if Not CopyFileTo(ExtractFilePath(Application.ExeName) + '\rationbase\ration.mdb', ChangeFileExt(DataBaseName,'') + 'Ration.mdb') then
begin
Application.MessageBox('对不起,创建数据库错误,请您重新进行操作','',MB_OK + MB_ICONINFORMATION);
Exit;
end;
SetFileAttributes(Pchar(ChangeFileExt(DataBaseName,'') + 'Ration.mdb'),FILE_ATTRIBUTE_HIDDEN);
SetFileAttributes(Pchar(ExtractFilePath(Application.ExeName) ConnectStr:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DataBaseName + ';';
CreateAccess:=CreateOleObject('ADOX.Catalog');
CreateAccess.Create(ConnectStr);
创建+链接Top




