起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 237|回复: 9

【结贴】请先提交或者回滚数据[请求]**

[复制链接]
发表于 2008-3-6 09:56:26 | 显示全部楼层 |阅读模式
TSqldataset(DataSetBroker1.DataSet).SQLFilter:=sqlstring;
  TSqldataset(DataSetBroker1.DataSet).SQLFiltered:=true;
第一次可以,第二次再刷新就出错

对出现这样的错误“数据已经被修改,请先提交或者回滚数据 ”

如何用代码解决?
回复

使用道具 举报

发表于 2008-3-6 10:01:07 | 显示全部楼层
我这里没这个错误。你是怎么刷新的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-6 10:21:29 | 显示全部楼层
我是这样操作的:
按条件查找到记录,放到Datagrid中,把要处理的记录打上标记,进行处理,
再次刷新,要把打上标记的记录去掉,这时就出错。
回复 支持 反对

使用道具 举报

发表于 2008-3-6 10:38:05 | 显示全部楼层
提示已经非常明确了
数据已经被修改,请先提交或者回滚数

如果已经修改了数据,没有ApplyUpdates或者没有CancelUpdates,那么在设置SQLFilter时候就会报这个错误了。
回复 支持 反对

使用道具 举报

发表于 2008-3-6 10:49:16 | 显示全部楼层
主要代码贴出来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-6 15:26:18 | 显示全部楼层
李小毅吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-6 15:34:45 | 显示全部楼层
李小毅:
我加了一句判断就可以解决了,另有一个问题:
http://bbs.justep.com/forum.php?mod=viewthread&tid=21246
能否打印?我要用这种格式打印单据。
回复 支持 反对

使用道具 举报

发表于 2008-3-6 15:43:47 | 显示全部楼层
是。在设sqlfilter前加4楼写的方法。
procedure TMainForm.Button4Click(Sender: TObject);
begin
// DataNavigator1.Buttons[2].Caption:='test';
  TSQLDataSet(DataGrid.DataSource.DataSet).ApplyUpdates;
   TSQLDataSet(DataGrid.DataSource.DataSet).SQLFilter:='zd1=1';
      TSQLDataSet(DataGrid.DataSource.DataSet).SQLFiltered:=true;
end;
回复 支持 反对

使用道具 举报

发表于 2008-3-6 15:45:39 | 显示全部楼层
No.2

可以用表格文档单独做一个文档用来打印,在功能窗体上用DocView引用这个文档,把DocView的Visible属性设置为False,然后把打印控件的自动侦测属性去掉,把文档视图属性指定为这个DocView

----------ps
就是做一个表格文档,在后面藏着打印用。把样式做成单据的样子。表单窗体不能直接打印出来。
回复 支持 反对

使用道具 举报

发表于 2008-5-13 17:08:44 | 显示全部楼层
由于长时间没有回复,先结贴了,有问题请开新帖。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 00:07 , Processed in 0.038144 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表