起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 2205|回复: 63

如何在数据网格中有规律的修改某一个字段的值,急!

[复制链接]
发表于 2008-6-17 09:34:47 | 显示全部楼层 |阅读模式
嗯,数据网格中的某字段A,在数据表和数据集中对应也是字段A。
A不是主键。
A是按照1 2 3 4 5…………这样排的,但是值不能重复(怎么设置?)。
在插入一条新的记录的时候,比如插入的记录A的值为3,则原来的纪录中大于等于3的A值都要加1,例如原来是1  2 3 4 ,我插入一条A值为3的记录,原来的 3 4 加1变成4 5;
在删除一条记录的时候,原来的A值大于所删除记录A值得都要减1,例如原来是1 2 3 4 5,我删除A值为3的那条记录,原来的4 5减1变成 3 4;

请问实现这个的时候,具体该在什么地方写代码?是写在某个字段的事件方法里呢,还是写在导航栏的保存或者删除按钮里面?
还有些代码的细节问题,又没有相应的例子或者模板可以参考?因为是新人,对很多问题都不太明白,希望可以说详细点,谢谢了
回复

使用道具 举报

发表于 2008-6-17 09:56:09 | 显示全部楼层
请问实现这个的时候,具体该在什么地方写代码?
答:这些都是对业务信息的修改,可以在业务信息中写代码

是写在某个字段的事件方法里呢,还是写在导航栏的保存或者删除按钮里面?
答:对于楼上的需求,业务信息中数据集的事件就可以满足要求。可以在“保存之后”和“删除之后”对相关记录做修改。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 10:13:48 | 显示全部楼层
可不可以问一下相关的更新语句怎么写,又没有模板啊
回复 支持 反对

使用道具 举报

发表于 2008-6-17 10:20:48 | 显示全部楼层
更新语句的使用可以看下数据库帮助文档
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 10:27:50 | 显示全部楼层
lQuery:TQuery;
begin
     lQuery:=TQuery.Create(nil);
   try
     // 给 Query 赋 ConnectionString
     lQuery.ConnectionString:='DATABASEURL=
       Biz:\ DEMO\DEMODATABASE.Database';
     // TJKYKC 是命名的一个别名,目的是便于访问
     lQuery.CommandText:='Select Sum(KCSL-ZKCL) as
       TJKYKC from SJJ_WZKCB';
     lQuery.Open;
     lValue:=lQuery.FieldByName('TJKYKC').AsInteger;
     Value := lValue;
   finally
     lQuery.Free;
类似于这样吗?
也是lQuery?还是有什么特别的?
具体的去哪里查?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 11:07:11 | 显示全部楼层
还有就是,我怎么才能标识刚刚插入或者删除的记录?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 11:13:28 | 显示全部楼层
或者,可以写到A字段的datagrid的所在列的onChange方法里?
哪个设计更好啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 11:25:06 | 显示全部楼层
现在的问题主要有:
1 如何得到刚刚插入或者删除的记录的A字段的值(sql语句中要用到)
2 如何标识数据表和数据集中的各条记录,并且控制循环给他们update更新赋值
特别是第一个
回复 支持 反对

使用道具 举报

发表于 2008-6-17 11:27:19 | 显示全部楼层
问楼主一个问题:这个保存1,2,3,4的字段A,是不能手动输入的吧,在界面上是只读的吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 11:30:01 | 显示全部楼层
是手动输入的阿,输入的时候就是按照这个顺序输入的,也是可以修改的,所以才要做这些修改的方法嘛
这个是由项目的实际背景决定的阿
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 05:39 , Processed in 0.040929 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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