• K3违反内码唯一键约束


    K3有时候需要向数据库中插入数据,但是插入的时候遇到主键冲突的错误,可以用如下方法解决。

    比如新增联系人时,完整错误如下:
    ? ? 违反了 PRIMARY KEY 约束 'PK_CRM_Contact'。不能在对象 'dbo.CRM_Contact' 中插入重复键。
    ? ? 语句已终止。

    出现此情况的原因一般是做二次开发的时候没有处理处理ICMaxNum表,导致表ICMaxNum中的ID比联系人表的最大ID还小,因此导致ID重复

    解决方法:
    --找到CRM_Contact的FItemID、ICMaxNum表的FMaxNum
    select FMaxNum,* From ICMaxNum where ftablename='CRM_Contact'
    select top 1 * from CRM_Contact order by FContactID desc?
    --如果CRM_Contact的FItemID比ICMaxNum表的FMaxNum大
    --1、则删除IC_MaxNum的记录条件是ftablename in ('CRM_Contact')
    --2、需要修改ICMaxNum的FMaxnum值比CRM_Contact的FItemID大1(2449是举例数据)
    delete from IC_MaxNum where ftablename in ('CRM_Contact')
    update ICMaxNum set FMaxnum=2449 where ftablename='CRM_Contact'
    update t_Identity set FNext=2499 where fname='CRM_Contact'

    注意事项:1、二次开发做单据导入的时候一定要处理ICMaxNum、t_Identity、IC_MaxNum这三个表
    ? ?? ?? ? 2、可以调用存储过程GetICMaxNum来获取新的ID

    CRM销售合同
    select FMaxNum,* From ICMaxNum where ftablename='t_RPContract'
    select top 1 * from t_RPContract order by FContractID desc


    update ICMaxNum set FMaxnum=1134 where ftablename='t_RPContract'
    update t_Identity set FNext=1134 where fname='t_RPContract'

  • 相关阅读:
    JavaScript——类型检测
    JavaScript——语法与数据类型
    .NET下使用 Seq结构化日志系统
    Vs Code搭建 TypeScript 开发环境
    Entity Framework Core一键生成实体命令
    使用TestServer测试ASP.NET Core API
    Entity Framework Core导航属性加载问题
    Autofac创建实例的方法总结
    .NET Exceptionless 日志收集框架本地环境搭建
    依赖注入和控制反转
  • 原文地址:https://www.cnblogs.com/zfangfang/p/9982433.html
Copyright © 2020-2023  润新知