当前位置:主页>销售管理软件> 列表

再加100分,求下面问题? 找速达软件官网

记账软件版1楼: 有Ttable加Filter,并设Filtered为True ,Filter按日期过滤,后新增一记录,新记录中的日期不在过滤范围内,Post后,出现Record/key deleted?
那位富翁遇到这种情况,请告知小弟.
回答问题有分
此贴分同http://www.delphibbs.com/delphibbs/dispq.asp?lid=3366931
一起送出

2楼: 数据有自增长的KEY键吗?是不是该值没有刷新回来 如管家婆进销存破解版

3楼: 你是用BDE連接數據庫,而且這個數據庫有自增的字段。
在BDE連接數據庫加上樓主的條件過濾而出現的錯誤,是因為數據庫那個自增字段造成的。
在Table1控件裡,將那個自增字段刪除就正常了。
或者用ADO連接不用刪除自增字段也正常的。

QQ:136293586

4楼: 这个问题好难

5楼: 这个问题还没有解决吗?
有人也碰到过这个问题,以下说法参考一下:
1."这个问题我以解决了,是在MSSQL中的DATATIME的精度太高,DELPHI在更新数据时会产生不一致的现象,改成SMALLDATETIME后没有问题了",
2."改用TQuery试试".

6楼: 3 你的问题又几种情况可能发生:
1,你所看见的,DBGIRD中的记录已经被其他用户删除了!
2,你所用的Table中用到过滤,而你所操作的记录改变后正好满足了这个过滤条件,记录被TABLE自动过滤掉了!(我想,这一点最有可能发生!)
3,你的表中很肯能没有设置主键!

记账软件版7楼: 如果你用了语句
Filter :=''field1= aaa '';
那么你在Table1.NewRecord
Table1.FieldByname(''field1'').AsString:=aaa;
也就是要给过滤字段付值,试一下.

8楼: 谢谢好心的babibean
我附合你说的第二种情况:
2,我所用的Table中用到过滤,而我所操作的记录(新增和修改)改变后正好满足了这个过滤条件,记录被TABLE自动过滤掉了!
主键是肯定设定了,并且也设置的Updatemode模式为upWhereKeyOnly.
我的过滤条件是日期过滤,而这个日期是用户在新增或修改时用户可自己随意改变的,按照正常的业务,新增记录时,用户输入的日期不再过滤的范围内,这时不会出现问题,但用户如果补以前的单子,输入的日期满足了过滤条件,就会出现出现Record/key deleted?
不知大家在遇到这种情况时如何处理

9楼: 在修改记录之前请将 Filtered置为False ,然后修改完毕Post后再true,刷新.
如果实在不想关闭过滤后修改,就再创建个动态Table控件做二级数据集分流过滤即可.

10楼: 用TTable控件的问题,解决办法只有改用TQuery了

11楼: 要修改前刷新一下。

12楼: 应该修改以后刷新下再操作 如速达软件官网