53分(我的所有)请教:关于ClientDataSet新增记录问题(请富翁们关注!谢谢)

Posted jijm123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了53分(我的所有)请教:关于ClientDataSet新增记录问题(请富翁们关注!谢谢)相关的知识,希望对你有一定的参考价值。

1楼: 数据库为SQL Server2000,表结构为: djbh char 10 单句号 主键 sort int   序号 sn: int    排列号 主键 spid char 40  商品ID shl decimal  数量 ...... 使用 Query->DataSetProvider->ClientDataSet 我需要: 1。在录入时在DBGrid的左边显示序号,就是数据表的sort,在资料删除时sort保持连续排列。 2。sn是否可以在ClientDataSet中设为自增字段,在数据表中sn不是自增。 3。在新增记录时怎么判断当前新增记录在ClientDataSet已经存在,并且给出提示,让用户选择是否可以重复。 真心请教各位富翁。。

 

2楼: 问题是不是有难度啊? 字串8

 

3楼: 1.Query有记录号,是按顺序排的 2.ClientDataSet中不能设自增字段,只能在数据库中设 3.判断重复只能由程序来做,主要是对主键做判断

 

4楼: 谢谢lgxyy的回答。 我使用过Query记录号,也使用过计算字段做序号,也在ClientDataSet中用了自增字段。 然后在AfterPost ClientDataSet1.Edit; ClientDataSet1.FieldByName(‘dj_sort‘).AsInteger:=。。。 ClientDataSet1.FieldByName(‘dj_sn‘).AsInteger:=。。。 但总觉得不是好办法。 如果用主键判断是否重复的话,就不容许重复了。

 

5楼: 其实楼上的那样做就可以了,要不你可以换另一种方法,在onnewrecord时 sort :=sort +1 sn:=sn+1 然后马上给它post 在post后在Applydata 以下, 同理,删除的时候相反,我以前做过和你类似的,就是用这样的办法, 客户一直在用,都没啥问题

 

6楼: 可以在SQL语句中添加一个列 I := i + 1;

 

7楼: 我设置 ClientDataSet.FieldByName(‘djbh‘).AutoGenerateValue:=arDefault; ClientDataSet.FieldByName(‘djbh‘).DefaultExpression:=‘AAAA0001‘; 在新增记录时自动获得了djbh的值。但是设置 ClientDataSet.FieldByName(‘sn‘).AutoGenerateValue:=arAutoInc; 不知道 ClientDataSet.FieldByName(‘sn‘).DefaultExpression:=??

 

8楼: ez 字串5

 

9楼: 如果是网络数据库最好不要使用敏感控件。

以上是关于53分(我的所有)请教:关于ClientDataSet新增记录问题(请富翁们关注!谢谢)的主要内容,如果未能解决你的问题,请参考以下文章

请教两个关于solidedge问题(多实体与图纸分页)

请教大神帮我写一个关于分页的js动画,效果如下:

请教关于linux中静态库与动态库的问题

关于window.print 打印时不能精确的分页,请教高手常用的解决方案?

请教:关于cmd文件中BEGIN和RESET的问题。

请教大大:关于IP地址的问题