【问题标题】:Not able to insert data to a table无法向表中插入数据
【发布时间】:2019-01-21 00:06:00
【问题描述】:

我无法向表中插入数据。请找出我得到的以下错误。

用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序错误“80040e14”

[Microsoft][ODBC SQL Server Driver][SQL Server]一个明确的值 表 'CREDP_EMP_ACCESSORIES_PROCESSED' 中的标识列可以 仅在使用列列表并且 IDENTITY_INSERT 为 开。

我什至尝试将 IDENTITY_INSERT 设置为 ON。 请找到我使用的代码。

【问题讨论】:

  • 图片没有帮助,请将您的代码粘贴到问题中。
  • sqllist = "删除 CREDP_EMP_ACCESSORIES_PROCESSED where ACC_SYS = " & accsys response.Write sqllist & "delete query" & "
    " set rso = con.execute(sqllist) sqllist = "SET IDENTITY_INSERT CREDP_EMP_ACCESSORIES_PROCESSED ON " response.Write sqllist & "
    " set rso = con.execute(sqllist) sqllist = "INSERT into CREDP_EMP_ACCESSORIES_PROCESSED SELECT ACC_SYS, ACC_CODE, ACC_DESC, ACC_CRDT, ACC_CRID, ACC_CRNAME, ACC_GROUP, ACC_TYPE ,ACC_YEAR, ACC_QTR, ACC_MTH FROM CREDP_EMP_ACCESSORIES其中 ACC_SYS = " & accsys 设置 rso = con.execute(sqllist)

标签: asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-3 asp.net-web-api


【解决方案1】:

当您将 sqlserver Identity Insert 设置为 ON 时,您必须提供标识列值。

所以,根据您的图片,发现您没有提供身份值。

如果您从另一个表插入标识值,则设置标识插入,否则设置 身份插入关闭。

马克苏德

【讨论】:

  • 只有在使用列列表并且 IDENTITY_INSERT 为 ON 时,才能为表“CREDP_EMP_ACCESSORIES_PROCESSED”中的标识列指定显式值。这就是我尝试插入时得到的结果
【解决方案2】:

将 CREDP_EMP_ACCESSORIES_PROCESSED 中的标识列设置为常规(非标识)int 列后问题得到解决,因为它是一个存档表

【讨论】:

    猜你喜欢
    • 2013-10-21
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多