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


  共有4294人关注过本帖平板打印复制链接

主题:多值字段值拆分提示不能在具有唯一索引“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


 回到顶部