可以改一下locktype属性,让他不自动保存就可以了
解决方案 »
- 求API:BitBlt()的原理?
- 请问,Page1: TfrxReportPage;这个TfrxReportPage是在哪个单元里的
- 线程中如何安全访问 主线程的Tstringlist ?
- delphi2007怎么安装delphi7的第三方控件
- 含有中文的字符串 如何统计字符个数?
- adoQuery在Open的时候提示“存储空间不足,无法完成此操作”,请问高手如何解决?
- 求原代码
- 我的ASP.NET怎么显示不了呢?
- 关于QUERY控件的一个问题
- 在IDE中有的控件为什么还提示:‘Undeclared Identifier:'TBtn'’
- !!!用ActiveX控件做了一个Flash播放器,请大家帮忙测试并提出宝贵意见!!!!
- 如何用SQL语句备份数据库
例如:
procedure TForm1.DataSource1UpdateData(Sender: TObject);
begin
if Table1.State in [dsEdit,dsInsert] then
begin
showmessage('数据编辑中,请先保存!'); //提示用户
abort;
end;
end;
在条件
if Table1.State in [dsEdit,dsInsert] then
里面,你可以加上自己定义的判断条件,比如:
if (Table1.State in [dsEdit,dsInsert]) and Can_Update then
//Can_Update是你定义的一个标志,用来判断是否要进行更新
begin
...
end;还有,在beforescroll事件里不行,因为post发生在scroll之前
"
那你可以在数据集的每个需验证的字段对象的OnValidate事件里面写判断,当验证失败后,就abort掉,记录的游标就不会滚动,也就不能post了
"
这个方法
还不是要保证用户输入数据的完整性
假如你要输入的几个字段里,有几个是非空的,有几个是可空的
那么在非空字段的OnValidate里面来判断一下当前字段的合法性,是空的或是无效的,就abort出来让用户重输,否则如果用户输入的数据是完整有效的,为什么不让人家保存滚动纪录?
而对非空字段,是不是验证是由你自己定的。