请高手们我帮我看看这个问题(200分)

  • 主题发起人 主题发起人 Anna
  • 开始时间 开始时间
A

Anna

Unregistered / Unconfirmed
GUEST, unregistred user!
请您说说在Delphi中在TTable1的事件中的oncalcufield中编写一个字段的值由其它几个字段就和而得的代码呢
您看这样写对吗? 我是用dbedit1,dbedit2两字段的值相加后得到另个字段值,另个字段名为talbe1a3。起的变量名为a3,类型为:integer.table1a3
.value:=dbedit1.field.asinteger+dbedit2.field.asinteger;我这样写了后其他所要设置的也设置了,可是程序只能
运行一次,退出后再运行就老有出错信息出现,而且也不能运行了。
 
a3.value:=dbedit1.value+dbedit2.value;
 
注意,这里dbedit1,dbedit2是field的名字
 
什么 错误信息?
 
你没错,但是程序只能运行一次是个常见的现象,
1、程序对数据库的操作没有释放,表仍是锁住的,
2、程序破坏了内存结构
只能运行一次,你还应该说明是重起系统以后就没事,还是重起Delphi 后没事,
还是你现在再也进不去了?
重起系统,说明内存出错或表锁住,重起Delphi说明BDE出错,你需要检查一下你是否最新版本,
如果再也进不去了,说明表已被破坏。
请再检查一下数据库有没有关闭吧!
 
贴出你的源吗吧.
我估计事你的程序中光有打开这个数据表的程序,用完之后没有及时关闭.造成了
共享冲突
 
有可能是table打开后没有关闭
 
虽然我没有编过你说的程序,但我刚刚遇到过你说的问题:一个数据库程序,运行一遍
后再运行,Delphi会说什么"数据库被锁,或说数据库是只读的,让人不知为何?要重起
Delphi才行!!!
我觉得是你的Table或Query控件没有正常关闭,
Table1.Close;
Query1.Close;
若你写了,在Delphi的IDE还出现此问题,我相信只要成为Exe文件,离开Delphi后便无
此问题,至少我编的程序就是这样(此程序不能运行同时运行两遍)
因为我觉得再Delphi环境下,你的程序的不正常退出往往并不会将数据库关闭!!!
成为Exe以后,便无事了!!!
想当初我的程序用了多个Tquery,Ttable,出现你说的问题,无法解决!!硬是靠多次
重起Delphi,最后成为Exe便无事了!!
 
应该注意一个问题,Delphi自己的Form编辑界面也会和BDE建立联系,即使关掉Form,联系也可能依然存在。如果在Delphi环境之外不存在这个问题,那么就可以不用管这个错误提示了。]
 
a3.value:=dbedit1.text+dbedit2.text;
 
多人接受答案了。
 
后退
顶部