起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 208|回复: 6

【结帖】GUID 问题**

[复制链接]
发表于 2009-4-28 16:42:05 | 显示全部楼层 |阅读模式
因为我要上移或者下移数据 ,要把GUID一起移动
现在出现一个我问题 提交的时候提示GUID违反唯一性
但如果是 移动每一条数据的时候就提交就没有问题  ,到最后才
提交就有问题,如果不移动GUID是没有问题的。

上移代码 :
  if self.DataSetBroker1.DataSet.RecordCount>0 then
  begin
     curxh:=DataSetBroker1.DataSet.FieldByName('xh').Asinteger; //当前选中行的受理单位
     curXfmc:=DataSetBroker1.DataSet.FieldByName('xfmc').AsString; //当前选中行的操作内容
     curGuid:=DataSetBroker1.DataSet.FieldByName('xfGuid').AsString;
     NewGuid:=jscommon.CreateGUIDStr;

     if (curxh<>1) then  //交换两行的内容
     begin

        self.DataSetBroker1.DataSet.Prior;    //前一条 的内容
        PriXfmc:=DataSetBroker1.DataSet.FieldByName('xfmc').AsString;
        PriGuid:=DataSetBroker1.DataSet.FieldByName('xfguid').AsString;

       DataSetBroker1.DataSet.Edit;
       DataSetBroker1.DataSet.FieldByName('xfmc').AsString:=curXfmc;
       DataSetBroker1.DataSet.FieldByName('xfguid').AsString:=NewGuid;
       //DataSetBroker1.DataSet.ApplyUpdates;

       DataSetBroker1.DataSet.Next;
       DataSetBroker1.DataSet.Edit;
       DataSetBroker1.DataSet.FieldByName('xfmc').AsString:=PriXfmc;
       DataSetBroker1.DataSet.FieldByName('xfguid').AsString:=PriGuid;
       //DataSetBroker1.DataSet.ApplyUpdates;

       //前一条的 GUID
       DataSetBroker1.DataSet.Prior;
       DataSetBroker1.DataSet.Edit;
       DataSetBroker1.DataSet.FieldByName('xfguid').AsString:=curGuid;
       //DataSetBroker1.DataSet.ApplyUpdates;
      end;
  end;

移动的时候没有问题 点保存按钮就出现问题了
如果把上面的 ApplyUpdates用上就没有问题,是怎么回事呢?
回复

使用道具 举报

发表于 2009-4-28 16:47:21 | 显示全部楼层
因为是一块提交的,所以不行。
您做一个新字段做主键,别让数据库去判断唯一性就行了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-28 16:52:33 | 显示全部楼层
那得改数据库了 或者是把 GUID 的 主键去掉了
回复 支持 反对

使用道具 举报

发表于 2009-4-28 16:56:40 | 显示全部楼层
最好加一个字段作为新主键,然后主键隐藏起来,在数据移动的时候,主键值不做更改(话说主键的一个含义就是唯一标示,所以是不做变动的)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-28 17:04:45 | 显示全部楼层
因为我原来那个主键别的表用到而且也是唯一性 感觉加一个新主键的华 原来的那个不设置 它能保证唯一么
回复 支持 反对

使用道具 举报

发表于 2009-4-28 17:10:39 | 显示全部楼层
需要楼主在程序上做好控制,不作主键,数据库就不会做唯一性检查了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-29 08:41:27 | 显示全部楼层
en  结贴吧 我移动就提交好了呵呵
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-22 02:37 , Processed in 0.036309 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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