Delphi tips

原创 2011年01月17日 15:55:00

1. When using TDataSet, if you want to check the data is changed or not, you can use ChangeCount porperty, but before this, you should Post all modifications. ChangeCount collects the counts of Posts. Or you can use TDataSet.Modified to check the modifications.

 

2. ''record not found or changed by  another user'',这个错误是我在做项目时,遇到的问题,找了一些参考才解决。如下:

所用的控件有:TDataSetProvider,TADOQuery,TClientDataSet

1.当 DataSetProvider.UpdateMode=upWhereAll 时,update时 where 是指定全部字段,比如,你有a、b、c 3个字段,修改了c字段,在app server中修改的命令是update ... set c=新c where a=旧a and b=旧b and c=旧c

如果 旧的a、b、c之一 已经被其他人改掉了,那where就找不到合适的记录来修改了。所以报告“记录被其他人修改”,这个问题和“锁定”是无关的。

2.当 DataSetProvider.UpdateMode=upWhereKeyOnly 时,update时 where 是指定key字段,比如,

你有a、b、c 3个字段,修改了c字段,a是key field在app server中修改的命令是

update ... set c=新c where a=旧a (只比较a字段)你的程序应该设计为客户修改不到主键字段的值,这样

你的客户只能修改到其他字段的值,其他字段不会出现在where中,就不会出现你说的问题了。

(用第2种方法解决,注意如果你的表原来没有主键的,需要双击dataset,添加你的所有field,在有唯一值的field的 ProviderFlasgs 属性里面 InKey 设置为 true (该field必须是有唯一值的,能相当于主键的,也就是能唯一确定该行记录的),TADOQuery,TClientDataSet控件里的唯一值的field字都要设置InKey为true)

 

3. You can use CloneCursor function to get a copy of the clientdataset.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

delphi tips(2)

  • 2007-09-25 13:55
  • 5.35MB
  • 下载

训练CNN你需要知道的tricks/tips

Introduction本文假设阅读者有基本的NN基础,涉及的tips有一下几点: - data augmentation - pre-process on images - initia...

Socket tips: UDP Echo service - Client code

#include #include #include #include #include #include #include #define BUFFER_LENGTH 1024 v...

wifter-tips

  • 2017-06-29 00:17
  • 2.50MB
  • 下载

Swifter 100 个 swift 必备 tips

  • 2015-12-30 16:02
  • 2.35MB
  • 下载

C学习第一章tips

使用VS编写程序时,希望得到的程序能够按任意键退出,而不是一闪而过,方便观察输出结果。 实现方法: (1)使用库函数getch() 添加代码:#include 和getch()语句。 解释:g...

Tips for OO

  • 2015-12-29 14:34
  • 2.61MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)