zoukankan      html  css  js  c++  java
  • 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楼: 如果是网络数据库最好不要使用敏感控件。

    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    零基础学python-2.15 回到我们的游戏 加入for以及列表
    零基础学python-2.14 for循环语句
    零基础学python-在3.x版本之后的print()不换行
    零基础学python-2.13 回到我们的游戏 加入循环
    CSV文件读取
    jmeter 测试webservice协议soap接口
    jmeter-plugins-manager.jar插件安装
    JDBC协议(jmeter链接mysql)
    xftp连接centos7
    xshell连接centos7
  • 原文地址:https://www.cnblogs.com/jijm123/p/13976559.html
Copyright © 2011-2022 走看看