function Tfrmain.CompressRePairMDB: Boolean;
var
dao:OLEVariant;
sTempDBname:string;
begin
result:=true;
screen.Cursor:=crHourGlass;
stempdbname:=changefileext(fn,'.tmp');
if fileExists(stempDBName) then DeleteFile(sTempDBName);
dao:=CreateOLEObject('DAO.DBEngine.36'); try
try
dao.compactDatabase(fn,sTempDBName,'',0,';pwd=123 ');
DeleteFile(fn);
RenameFile(sTempDBName,fn);
except
on e:Exception do begin
result:=False;
MessageDlg('数据库压缩修复失败!!'+#13+#13+e.Message,mtError,[mbOK],0);
end;
end;
finally
dao:=Unassigned;
end;
screen.Cursor:=crDefault;
end;请问
1:OLEVariant 这是什么类型?资料从哪儿找?DELPHI找不了该资料!
2:dao:=CreateOLEObject('DAO.DBEngine.36');完成会么功能,各参数意义是什么?
3: dao.compactDatabase(fn,sTempDBName,'',0,';pwd=123 ');完成会么功能,各参数意义是什么?
4:on e:Exception do 这是什么语句?
5:dao:=Unassigned;完成会么功能
上述是我在网上找到的一个完成压缩数据库功能的程序例子,本人想成同上述功能(用的是(SQL做数据库.数据库无密码),但一运行到dao.compactDatabase(fn,sTempDBName,'',0,';pwd=123 ');时提示找不到文件!请教各位问题在哪,有没有更好的代码,最好有分析?谢谢!
var
dao:OLEVariant;
sTempDBname:string;
begin
result:=true;
screen.Cursor:=crHourGlass;
stempdbname:=changefileext(fn,'.tmp');
if fileExists(stempDBName) then DeleteFile(sTempDBName);
dao:=CreateOLEObject('DAO.DBEngine.36'); try
try
dao.compactDatabase(fn,sTempDBName,'',0,';pwd=123 ');
DeleteFile(fn);
RenameFile(sTempDBName,fn);
except
on e:Exception do begin
result:=False;
MessageDlg('数据库压缩修复失败!!'+#13+#13+e.Message,mtError,[mbOK],0);
end;
end;
finally
dao:=Unassigned;
end;
screen.Cursor:=crDefault;
end;请问
1:OLEVariant 这是什么类型?资料从哪儿找?DELPHI找不了该资料!
2:dao:=CreateOLEObject('DAO.DBEngine.36');完成会么功能,各参数意义是什么?
3: dao.compactDatabase(fn,sTempDBName,'',0,';pwd=123 ');完成会么功能,各参数意义是什么?
4:on e:Exception do 这是什么语句?
5:dao:=Unassigned;完成会么功能
上述是我在网上找到的一个完成压缩数据库功能的程序例子,本人想成同上述功能(用的是(SQL做数据库.数据库无密码),但一运行到dao.compactDatabase(fn,sTempDBName,'',0,';pwd=123 ');时提示找不到文件!请教各位问题在哪,有没有更好的代码,最好有分析?谢谢!
解决方案 »
- 如何在dll里连接数据库,并且使用主程序的connection(也就是不要重新做新的连接)
- 招聘Delphi程序员,熟悉fastreport,Ehlib,基本SQL语言
- 一个小问题
- DELPHI中怎样取的文件的属性?
- 高手快来帮忙啊,我快挺不住了
- 无法为更新行集定位:一些值可能已在最后读取后改变“请问应何解决
- 求救!
- 完了,完了,CDSN论坛要完了!!!
- 请教radiobutton的问题
- 急!急!急!谁知道那里有像Excel一样,可以选择一定的区域,向下托拽就可以在下面的单元格内复制,双击单元格可以有编辑光标的类似TstringGrid的控件。谢谢!!请各位快点回复,请告知下载地址。快!快!快!
- 没办法~~~ 哎~~~ 又要散~~
- delphi程序员或者项目经理在上海找工作加入这个qq群:15638526
2.就是你上便说的那个变量,创建的是一个DAO数据链接引擎,DAO是微软早期的数据链接引擎,现在基本上被ADO所取代了,不怎么用,所以你可能不了解,如果需要去看看VB的书,上边有介绍。
3.DAO的一些操作方式,类如ADO的操作.
4.为了捕捉异常而创建的异常类E对象,长用
TRY
{---}
EXCEPT
ON E:EXCEPTION DO
SHOWMESSAGE(E.MESSAGE);
END;
5. 释放变量 和 DAO:=NIL;一样。