社区
Delphi
帖子详情
Table控件的记录保存问题
snakezou
2000-03-09 09:35:00
小弟近日发现一问题,请各位大虾指教
在数据库编程中,我用的是DBNavigator控件浏览数据,表格连接用的Table,在记录Post后,若程序不正常中止,则本次所做的修改全部没有保存,而Table的高速缓存并未打开,请问该如何才能使程序非正常中止下的数据也能保存呢。不知是否可以让Table每次post后都能直接将本条记录写到硬盘上呢?
...全文
261
13
打赏
收藏
Table控件的记录保存问题
小弟近日发现一问题,请各位大虾指教 在数据库编程中,我用的是DBNavigator控件浏览数据,表格连接用的Table,在记录Post后,若程序不正常中止,则本次所做的修改全部没有保存,而Table的高速缓存并未打开,请问该如何才能使程序非正常中止下的数据也能保存呢。不知是否可以让Table每次post后都能直接将本条记录写到硬盘上呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mr_ghd
2000-03-12
打赏
举报
回复
每次使用table.active:=false;
table.active:=true;
snakezou
2000-03-12
打赏
举报
回复
Brain兄的函数提供的很好,我是在Table的AfterPost之后调用的,效果挺理想。Aho兄的我没有试过,不知道是否可行。在这里我对所有回复的大虾们真诚的说一声“谢谢”。
Rich_Zhou
2000-03-11
打赏
举报
回复
经我观察 系统在打开一个表时 实际上是另建立了一个临时缓冲表 只有当关闭该表时才真正写入到你所期望的表中
所以我发现别我他法 只有TTable.close
不过建议项保存状态以及断开和数据控件之间的连接 否则会发生意想不到的结果
我做了一个过程供你参考
procedure SaveTable(vTable:TTable);
var
Filtered:boolean;
sFilter:String;
Bookmark:TBookMark;
begin
Filtered:=vTable.Filtered;
sFilter:=vTable.Filter;
BookMark:=VTable.GetBookMark;
vTable.DisableControls;
vTable.Active:=False;
vTable.Active:=True;
vTable.Filter:=sFilter;
vTable.Filtered:=Filtered;
vTable.GotoBookMark(BookMark);
vTable.FreeBookMark(BookMark);
end;
holoboy
2000-03-11
打赏
举报
回复
设置一些变量检查数据库的纪录是否经过修改,将修改的信息用batchmove控件,保存。
至于断电我想还是用aho的方法。
Aho
2000-03-11
打赏
举报
回复
这个问题我研究过(血的教训呀),解决的方法就是在每次
重要的修改完成后调用dbisavechange(具体的情况查BDE的帮助)
BTW:在修改完成后调用一下POST其实开销不大。关键是这样还是
不能对付诸如掉电的问题。想彻底解决这个问题只能用DBISAVECHANGE
代价是系统运行的效率。
jll
2000-03-11
打赏
举报
回复
做得更绝一点,自己写数据库的操作日志吧。不过别问我,我可没经验。
Brain
2000-03-11
打赏
举报
回复
请在Form上放个Timer构件,将其Interval设为1,在其timer1timer中加上
table1.flushbufers;即可解决问题!
torent
2000-03-10
打赏
举报
回复
关注
zhouyj
2000-03-10
打赏
举报
回复
Table每次post后都把Table.close就可以了;
另外您的程序有问题(程序没有做异常处理)。
guofupei
2000-03-10
打赏
举报
回复
local table?
or server table?
i never found this mistake?
Lin
2000-03-10
打赏
举报
回复
To snakezou:
你说的是正确的,Post操作失败,则本次修改的任意字段都不可能保存。我觉得这样才会保持数据库的完整性。实际上当你用DBNavigator浏览数据的话,每移动记录就隐含调用Post(如果记录改变了的话)。
如果非要让每字段的修改都保存到数据库中去的话,建议你每修改一字段就Post一次。不过,这样太麻烦而且效率太低,是不是?
snakezou
2000-03-10
打赏
举报
回复
to lybt: 我生成可执行文件后还是老样子。
to ZhouYJ: 我现在不想在每条记录post后都关闭一次数据库(这样做也太夸张了点吧。)另外能对直接断电的情况做异常处理吗?而且普通情况下数据输入的错误Delphi都会自行捕获的, 只不过显示用的英文。
lybt
2000-03-09
打赏
举报
回复
调试中就这样,发行后就好了。
使用NetBeans用j
Table
控件
实现分页显示数据库
记录
本程序是先通过各个方法统计出数据库
记录
的总数,然后通过总
记录
数数计算出总页数和当前页数以及当前页要显示的
记录
号,最后将
记录
保存
到二维数组中。通过j
Table
控件
显示出来。 Page
Table
------------------//源代码文件夹 javadata -------------------//MySQL文件夹 本人通过安装MySQL Connect ODBC,用JDBC-ODBC桥来和java连接 因为是初学者,有不足之处希望得到批评指正! Email:landkim@163.com
【Bootstrap】—
table
控件
的传参取值
前言 最近小编接触的项目中,统一采用扁平化的流行风格,前台使用的Bootstrap框架,相对于EasyUI绑定数据的时候有点复杂,在
Table
控件
传值的时候就卡住了,Bootstrap第一次了解,总结一下它的使用套路。 需求描述 查询一段时间间隔内的数据,需要获取页面上两个日期
控件
上的日期值传递到Controller的方法中做进一步的逻辑处理。 代码详解 1.
【BootStrap】——
Table
控件
将时间戳更改为日期格式
前言 小编最近一直在公司积分系统的bug海洋中,bug天天有,代码天天敲啊,这不,又出现了新的
问题
,获取时间的方法当经过json序列化后数据就变成了时间戳格式,别急,别急,我就是猴子请来的救兵,看我怎么解决掉你~~ 正文 一、
Table
显示日期
问题
好好的日期给变成了时间戳: 分析: 按照时间戳格式截取相应字符串转换为相应格式的日期 修改后代码:js文件 v...
WEB交叉透视表Pivot
Table
控件
详细介绍
Pivot
Table
数据透视表构件可帮助您为Web和Flex应用程序创建交互式的数据透视表和图表报告。数据透视表构件可在创建和分析报告的同时,为您的顾客提供极为直观的最终用户体验。一旦将构件嵌入您的应用程序后,用户将立即获得各种强大的特色功能,以满足其实时业务分析的需求:可快速将来自OLAP立方块、SQL数据库或静态CSF文件的复杂数据显示为紧凑的概括性可视化报告,与Exc...
C#动态
控件
生成与数据修改
3、使用合适的
控件
保存
数据值用于展示(readonly=true禁用编辑)、点击修改按钮时:修改(readonly=false启用编辑)、点击提交时将修改后的数据同步到数据库。需求:在前端界面显示
table
,用于展示数据库查询数据,但是第一列为按钮
控件
,用于对行数据进行编辑、提交修改、删除等操作。即
table
、
table
row【1】、
table
cell【1】为按钮
控件
,其余列为数据;相关技术点:1、动态生成按钮的委托事件绑定,2、动态切换文本
控件
的编辑与禁用,3、前后端操作交互。
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章