【问题标题】:Exception calling "ExecuteNonQuery"调用“ExecuteNonQuery”的异常
【发布时间】:2015-06-01 21:39:51
【问题描述】:

当我尝试通过 PowerShell 在数据库中插入新数据时,它可以工作。

但是,如果数据已经在数据库中,我会得到异常。

有人遇到了类似的问题,Catch exception calling "ExecuteNonQuery",但我相信我在我的 PowerShell 代码中使用了正确的 SQL 语句,我说的是SELECT 1

$SQL_insert = "BEGIN
              IF NOT EXISTS (SELECT 1
                             FROM [dbo].[Group_Stats]
                             WHERE Date_of_Record = CAST(GETDATE() AS DATE)
                             AND [Group] = '$group')
              BEGIN
                  INSERT INTO [dbo].[Group_Stats] ([Date_of_Record], [Group], [Windows_SEP_11],[Mac_SEP_11],[Windows_SEP_12],[Mac_SEP_12])
                  VALUES (CAST(GETDATE() AS DATE), REPLACE ('$group', 'My Company\', ''), $win_sep_11, $mac_sep_11, $win_sep_12, $mac_sep_12)
              END
          END"

异常

Exception calling "ExecuteNonQuery" with "0" argument(s): "Violation of PRIMARY KEY constraint 'PK_Group_Stats'. Cannot insert duplicate key in object 'dbo.Group_Stats'. 

这是数据库

谢谢

【问题讨论】:

    标签: sql-server powershell exception


    【解决方案1】:

    您正在查询未修剪的组名,但是当您插入时,您调用REPLACE() 将“我的公司”从$group 中修剪掉。您应该先修剪$group,然后在不调用REPLACE() 的情况下查询和插入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 2018-04-02
      • 2013-06-16
      • 1970-01-01
      相关资源
      最近更新 更多