底层数据库无法写入(100分)

  • 主题发起人 主题发起人 出血者
  • 开始时间 开始时间

出血者

Unregistered / Unconfirmed
GUEST, unregistred user!
我在开发一个数据库管理系统时,遇到这样一个问题:
建立一个主从Access数据库记录,问题出现了:主数据库记录可以修改,但从数据库记录无法写入Access数据库,此时的对应的对象table1money却已经修改,也没有错误信息。无法理解!
如下语句:
with table2 do //table2 为从数据库
begin
edit;
table1money.value:=table1money.value-cutmoney;//修改对象
post;
end;
 
你的主从数据库是怎么定义的?用哪个字段连接?
relationship搞好没有?
 
主从数据的relation字段为用户的ID号,没有问题。
 
抱歉!源程序书写有误!应为:
with table2 do //table2 为从数据库
begin
edit;
table2oney.value:=table2oney.value-cutmoney;//修改对象
post;
end;
 
修改的哪条记录未指定!
应有
Moveby(xx);
Edit;
 
谢谢Jams的回答,问题可能是纪录定位问题。
问题的背景是我通过主细数据库的设置。如下定义是否正确:
Table2.mastersource:=datasource1;
Table2.masterfield:='id';
...

Table2.mastersource.free;
Table2.masterfield:='';
 

>Table2.mastersource.free;

思路错误, 至少应该写为
Table2.mastersource:=nil;

至于你说的现象, 抱歉,我没看懂! 你把源程序完整的写一遍, 同时希望
你学会用SQL语句对数据库进行更新. 下为例子:

Query1.SQL.text:='Update Table2 set money = money - :Cutmoney where Id = :Id ';
Query1.Parambyname('Cutmoney').asCurrency := cutmoney ;
Query1.Parambyname('Id').asstring := Table1.fieldbyname('id').asstring;
query1.execSQL;

 
请继续讨论, 否则均分分数。
 
怎么回事?FREE了做什么呀?以后怎么办呀?
错误信息是什么呀?表怎么定义的呀?是主要/明细结构造成的修改关键字段冲突?
 
>但从数据库记录无法写入Access数据库,此时的对应的对象table1money却已经修改
前后矛盾, 从记录是TABLE2, 而TABLE2MONEY是其中的字段, 无法写入的话
TABLE2MONEY就没有修改,如果修改了就是可以写入.
 
多人接受答案了。
 
后退
顶部