我想用adoTable1.SaveTofile来备份文件?然后在适当的时候用LoadFromFile恢复文件到表...结果是失败!!为何?(50分)

  • 主题发起人 主题发起人 del520
  • 开始时间 开始时间
D

del520

Unregistered / Unconfirmed
GUEST, unregistred user!
首先我用
AdoTable1.SaveToFile备份当前的表的记录到一个文件..
在表发生一列表修改之后,我想使用
AdoTable1.LoadFromFile来恢复....
恢复来之后数据是显示出来,但是没有保存在对应的表中去,怎么办?
 
对了 你要用adotable1.updatebatch(all). 更新数据库。由于 你用loadfromfile时
adotable系统自动设置为使用缓存更新。所以 要用updatebatch(我在外面没有delphi我不知道这个函数是不是这样写)自动更新。
 
此外,你还要在adoquery中加入sql语句。
 
命令是UpdateBatch(arAll)
但我该加在哪儿啊.
我加在
adoTable1.LoadFromFile('savedb.dat');
adoTable1.UpdateBatch(arAll);

结果也是一样啊
 
to tswhoney
我使用的是AdoTable啊,要使有AdoQuery干啥?

我以为挺简单的,原来还是如此复杂啊.
 
AdoTable1.Connection:=ADOConnection1//ado连接;一定要连接通才行 :)
Adotable1.Table='你想更新的表'; // 指定你要更新的表。
adoTable1.LoadFromFile('savedb.dat');
adoTable1.UpdateBatch(arAll);

自己多多调试!
 
真是奇怪,试到现在还是不行啊,怎么回事!!!
 
真不知道你怎么搞的 以前我也用过 非常的好用。 首先 你要恢复的adotable一定要
像你savetofile时的连接状态。即是:adoConnection一定要(用来定位数据库)。 tablename一定要(用来 定位数据表)。 然后你可以
不用open; 然后 loadfromfiel; 然后再updatebatch;
如果你察看adotable的源代码就一下子就明白了。 还有 你要清楚adotable里面的每一条记录
的状态。是不是后来添加的,是不是编辑的等等,等等。 还有 数据表的约束等等你都要考虑。
最简单的是你建一个很简单的表,然后savetofile.然后再对savetofile数据编辑。 然后
再loadfromfile 和updatebatch. 这时你就可以看你编辑的数据是否更新到数据库就清楚了
这个是adotable 和 adoquery 都是一样的。 (adoquery 不是指定tablename 而是指定
sql语句来定位数据表)
自己多试试 ,也许你的程序还有其他的原因。!
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部