Foxtable(狐表)用户栏目专家坐堂 → 多值字段值拆分提示不能在具有唯一索引“guid”的对象“dbo.台账”中插入重复键行


  共有4908人关注过本帖树形打印复制链接

主题:多值字段值拆分提示不能在具有唯一索引“guid”的对象“dbo.台账”中插入重复键行

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
多值字段值拆分提示不能在具有唯一索引“guid”的对象“dbo.台账”中插入重复键行  发帖心情 Post By:2022/11/24 10:06:00 [只看该作者]

单位 是多值字段  在进行拆分的时候   会将传入的guid也进行新增进去  然后将对应的多值行数据拆分成多行数据

当单位为:1,2  传入的guid为14d8c13a-6197-41ee-b333-4170fb5e43fd时

 

运行提示:【如何修正呢?】

错误的事件名称
System.Data.OleDb.OleDbException (0x80040E2F): 语句已终止。
不能在具有唯一索引“guid”的对象“dbo.台账”中插入重复键行。重复键值为 (14d8c13a-6197-41ee-b333-4170fb5e43fd)。
   在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   在 System.Data.Common.DbDataAdapter.UpdateRowExecute(RowUpdatedEventArgs rowUpdatedEvent, IDbCommand dataCommand, StatementType cmdIndex)
   在 System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
2022-11-24 10:00:34
错误的事件名称
System.Data.OleDb.OleDbException (0x80040E2F): 语句已终止。
不能在具有唯一索引“guid”的对象“dbo.台账”中插入重复键行。重复键值为 (14d8c13a-6197-41ee-b333-4170fb5e43fd)。
   在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   在 System.Data.Common.DbDataAdapter.UpdateRowExecute(RowUpdatedEventArgs rowUpdatedEvent, IDbCommand dataCommand, StatementType cmdIndex)
   在 System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
2022-11-24 10:00:34
14d8c13a-6197-41ee-b333-4170fb5e43fd

 

 

前端代码:

 $.post("form654_save1.Ajax", {
        责任单位: e.form.责任单位.value,
        guid: e.form.guid,

       },
       function(res) {
       })

 

 

后端代码:

Public Sub form654_save1_Ajax(rq as Request)
Dim e As RequestEventArgs = rq.e
Dim cmd As SQ LCo mmand = rq.cmd
msg(e.Values("guid"))   可以弹出值
Dim str As string =  e.Values("单位")
Dim drs As List(of DataRow) =DataTables("台账").SQ LS elect("单位='"  & str & "' and guid='" & e.Values("guid") & "'")   '可以找到对应样本数据
For Each s As String In str.split(",")    '对传入的值进行拆分
    Dim dr1 As DataRow = DataTables("台账").AddNew
    For Each dc As DataCol In DataTables("台账").DataCols
        For Each dr As DataRow In drs
            dr1("guid")=guid.newguid.tostring()
            dr1(dc.Name) = dr(dc.Name)
            dr1("单位")=s
            dr1.save
        Next
    Next
Next
 e.WriteString("")
End Sub


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110587 积分:562831 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/24 10:31:00 [只看该作者]

For Each s As String In str.split(",")    '对传入的值进行拆分
        For Each dr As DataRow In drs
    Dim dr1 As DataRow = DataTables("台账").AddNew
            dr1("guid")=guid.newguid.tostring()
            dr1("单位")=s
    For Each dc As DataCol In DataTables("台账").DataCols
            dr1(dc.Name) = dr(dc.Name)
    Next
        Next
Next
DataTables("台账").save

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)For Each s As String In str.split(...  发帖心情 Post By:2022/11/24 11:25:00 [只看该作者]

 Dim e As RequestEventArgs = rq.e
 Dim cmd As SQLCommand = rq.cmd
 msg(e.Values("guid"))
 Dim str As string =  e.Values("单位")
 Dim drs As List(of DataRow) =DataTables("台账").SQL Se lect("单位='"  & str & "' and guid='" & e.Values("guid") & "'")   '可以找到对应样本数据
 For Each s As String In str.split(",")    '对传入的值进行拆分
        For Each dr As DataRow In drs
            Dim dr1 As DataRow = DataTables("台账").AddNew
            dr1("guid")=guid.newguid.tostring()
            dr1("单位")=s
                For Each dc As DataCol In DataTables("台账").DataCols
                dr1(dc.Name) = dr(dc.Name)
                dr1("审核状态")="待审核"
                dr1("接收状态")="待接收"
                dr1("办理状态")="待办理"
                Next
        Next

Next

 

老师这样  没有实现拆分了  还得继续麻烦老师


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110587 积分:562831 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/24 12:08:00 [只看该作者]

没看懂。截图说明一下业务逻辑

 回到顶部