怎样用delphi动态创建access数据库及表啊?知道的指点一下,谢谢了。
解决方案 »
- (新手问)请问如何在点击按钮时来判断一个EDIT里输入的内容是否为年年年年-月月-日日??
- 能不能通过api读去并口状态值呢(NT/2000下)
- 谁有TObjectList 的详细中文说明
- 两个不能妥善解决的问题!
- 有没有干程序员干的郁闷的,请进来交流一下
- 报表的QRmemo控件怎么和表里的Memo字段相连?
- 如何才能调试自动化服务器??急!!
- 小弟是delphi初学者,师兄师姐们给我介绍一下object pascal自带的函数好么?
- 5.richedit1.wantreturns:=True;button1.default:=true;结果运行时在richedit中打回车不能执行Button1,打ctrl+ENter也不行。
- ADO+access97
- 求教!用adoconnection 连接一个带密码的access库!连接总是提示出错.!
- a.exe和b.exe是两个独立得程序,怎样在a中运行打开b,b打开后在b中关闭a?????
//创建ACCESS2000数据库
function CreateAssess2000Database(const DatabaseName : string) : Boolean;
var
Cat:OleVariant;
begin
Cat:=CreateOleObject('ADOX.Catalog');
Cat.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DatabaseName);
end;
建表就不用问了吧:)
http://expert.csdn.net/Expert/topic/2751/2751370.xml?temp=.4748041
const
SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
+ 'Jet OLEDB:Database Password=%s;';function GetTempPathFileName(): string;
var
SPath, SFile: array[0..254] of char;
begin
GetTempPath(254, SPath);
GetTempFileName(SPath, '~SM', 0, SFile);
result := SFile;
DeleteFile(result);
end;//这里是关键
function CreateAccessFile(FileName: string; PassWord: string = ''): boolean;
var
STempFileName: string;
vCatalog: OleVariant;
begin
STempFileName := GetTempPathFileName;
try
vCatalog := CreateOleObject('ADOX.Catalog');
vCatalog.Create(format(SConnectionString, [STempFileName, PassWord]));
result := CopyFile(PChar(STempFileName), PChar(FileName), True);
DeleteFile(STempFileName);
except
result := false;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
CreateAccessFile('C:\aa.mdb');
end;
代码:const
SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
+ 'Jet OLEDB:Database Password=%s;';implementation
{$R *.dfm}
//=============================================================================
// Procedure: GetTempPathFileName
// Author : ysai
// Date : 2003-01-27
// Arguments: (None)
// Result : string
//=============================================================================function GetTempPathFileName(): string;
//取得临时文件名
var
SPath, SFile: array[0..254] of char;
begin
GetTempPath(254, SPath);
GetTempFileName(SPath, '~SM', 0, SFile);
result := SFile;
DeleteFile(result);
end;//=============================================================================
// Procedure: CreateAccessFile
// Author : ysai
// Date : 2003-01-27
// Arguments: FileName:String;PassWord:string=''
// Result : boolean
//=============================================================================function CreateAccessFile(FileName: string; PassWord: string = ''): boolean;
//建立Access文件,如果文件存在则失败var
STempFileName: string;
vCatalog: OleVariant;
begin
STempFileName := GetTempPathFileName;
try
vCatalog := CreateOleObject('ADOX.Catalog');
vCatalog.Create(format(SConnectionString, [STempFileName, PassWord]));
result := CopyFile(PChar(STempFileName), PChar(FileName), True);
DeleteFile(STempFileName);
except
result := false;
end;
end;//=============================================================================
// Procedure: CompactDatabase
// Author : ysai
// Date : 2003-01-27
// Arguments: AFileName,APassWord:string
// Result : boolean
//=============================================================================function CompactDatabase(AFileName, APassWord: string): boolean;
//压缩与修复数据库,覆盖源文件var
STempFileName: string;
vJE: OleVariant;
begin
STempFileName := GetTempPathFileName;
try
vJE := CreateOleObject('JRO.JetEngine');
vJE.CompactDatabase(format(SConnectionString, [AFileName, APassWord]),
format(SConnectionString, [STempFileName, APassWord]));
result := CopyFile(PChar(STempFileName), PChar(AFileName), false);
DeleteFile(STempFileName);
except
result := false;
end;
end;