adox的jetenginee的compactdatabase方法
解决方案 »
- delphi如何实现memo中部分文字颜色改变
- 赚分,马上结...
- 计算机应用自考生如何向程序员转型?
- 请问如何用Delphi做出类似于网上地图的程序
- 看过李维《Delphi 5.x Ado/mts/com+高级程序设计》的请进,有问题请教。
- 110,急啊,要出报告给出高校的人事,财务,物资软件的结构、模块。。。,我没做过啊
- 急问:stringgrid
- 关于access数据库中的日期/时间字段的查询??(在线等待)
- 请教一个小问题!!
- 怎样使得一个String变量转换成array[0..255] of char(即数组变量) 的变量?
- 如何利用delphi通过IIS将客户端文件上传到服务器上
- 怎样在ListBox中实现多列,怎样加入列表项(多列)
var
X:OleVariant;
sourcefiles,tempfiles:string;
begin
sourcefiles:='E:\xll\model.mdb';
tempfiles:='E:\xll\temp.mdb';
try
X := createoleobject('JRO.JetEngine');
X.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+sourcefiles,'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+tempfiles);
deletefile(sourcefiles);
renamefile(tempfiles,sourcefiles);
Messagedlg('OK!',mtwarning,[mbok],0);
if fileExists(sourcefiles) and FileExists(tempfiles) then
if deleteFile(sourcefiles)then RenameFile(tempfiles,sourcefiles);
exit;
except
Messagedlg('主数据库正在被他人或应用程序使用,请稍后再试!',mtwarning,[mbok],0);
end;
end;
我用一tADOConnection连接access数据库,ADOTAble连接adoconnection,ADOTable的tablename属性锁定一个表,但是在程序运行时只要第一次打开ADOTable或将其属性active设为真,便会出现如下异常:"Could not convert variant of type (null)into type (string)",我知道这是数据库的字段与应用程序输入域冲突,但换成其他delphi自带的数据库没有这种问题,我的access数据库的字段属性类型有:文本,日期,货币,数字。我不知道是什么原因,但是第一次出现异常后,以后再打开ADOTable不会有事,请各位帮帮忙!!不胜感激!!