社区
Delphi
帖子详情
Table控件的记录保存问题
snakezou
2000-03-09 09:35:00
小弟近日发现一问题,请各位大虾指教
在数据库编程中,我用的是DBNavigator控件浏览数据,表格连接用的Table,在记录Post后,若程序不正常中止,则本次所做的修改全部没有保存,而Table的高速缓存并未打开,请问该如何才能使程序非正常中止下的数据也能保存呢。不知是否可以让Table每次post后都能直接将本条记录写到硬盘上呢?
...全文
262
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
表格利器通用教材
适用人群开发从业人员,产品原型人员,IT相关从业人员,想快速掌握技能的一切人员课程概述特点基于Bootstrap 开发响应式界面,固定表头,完全可配置,支持data属性,显示/隐藏列,显示/隐藏表头,使用AJAX获取JSON数据,点击表头可简单的进行排序,支持自定义列显示,支持单/复选,强大的分页功能,支持名片布局,支持多语言动态列:导出各种格式(支持xls,xlsx的office2003-office2019)
【BootStrap】——
Table
控件
将时间戳更改为日期格式
前言 小编最近一直在公司积分系统的bug海洋中,bug天天有,代码天天敲啊,这不,又出现了新的
问题
,获取时间的方法当经过json序列化后数据就变成了时间戳格式,别急,别急,我就是猴子请来的救兵,看我怎么解决掉你~~ 正文 一、
Table
显示日期
问题
好好的日期给变成了时间戳: 分析: 按照时间戳格式截取相应字符串转换为相应格式的日期 修改后代码:js文件 v...
WEB交叉透视表Pivot
Table
控件
详细介绍
Pivot
Table
数据透视表构件可帮助您为Web和Flex应用程序创建交互式的数据透视表和图表报告。数据透视表构件可在创建和分析报告的同时,为您的顾客提供极为直观的最终用户体验。一旦将构件嵌入您的应用程序后,用户将立即获得各种强大的特色功能,以满足其实时业务分析的需求:可快速将来自OLAP立方块、SQL数据库或静态CSF文件的复杂数据显示为紧凑的概括性可视化报告,与Exc...
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章