Ошибка при попытке выполнить обновление SQL - PullRequest
1 голос
/ 17 апреля 2020

This shows an example of the row in the database that I am attempting to Update Я пытаюсь обновить базу данных Sql из приложения Windows Forms в C# и продолжаю сталкиваться с этой ошибкой:

Нарушение ограничения PRIMARY KEY ' PKtblStepCAB0D0D86002590D C». Невозможно вставить дубликат ключа в объект 'dbo.tblStepConfiguration_Cond'. Значение ключа-дубликата равно (1, 5, 20, 3, 1).

Я понимаю, что он пытается сказать, но дело в том, что я не пытаюсь ничего вставить. Я пытаюсь обновить его, используя следующую информацию.

private void SqlUpdateCommand(String DataBase, String DB_ColumnName, TextBox tb_changed, String Cond_ID, String Cond_GroupID)
{
  int rows = 0;
  if (!String.IsNullOrEmpty(tb_ConfigID.Text) && !String.IsNullOrEmpty(tb_SequenceID.Text))
  {
    System.Data.SqlClient.SqlConnection conn = null;
    string constr = ConfigurationManager.ConnectionStrings["LAP_Configuration.Properties.Settings.LAPConnectionString"].ConnectionString;
    Console.WriteLine("Connection String: {0}\n", constr);
    conn = new SqlConnection(constr);
    try
    {
      conn.Open();

      SqlCommand cmd = new SqlCommand("UPDATE " + DataBase + " SET "+DB_ColumnName +" = @NewName" +
                                               " WHERE (SequenceID = @SequenceNumber AND MasterConfig = @MasterConfig AND StepNumber = @StepNumber AND Con_ID = @Con_ID AND Con_GroupID = @Cond_GroupID)", conn);
      cmd.Parameters.AddWithValue("@SequenceNumber", SeqSelected);
      cmd.Parameters.AddWithValue("@MasterConfig", ConfigSelect);
      cmd.Parameters.AddWithValue("@NewName", tb_changed.Text);
      cmd.Parameters.AddWithValue("@StepNumber", StepID);
      cmd.Parameters.AddWithValue("@Con_ID", Cond_ID);
      cmd.Parameters.AddWithValue("@Cond_GroupID", Cond_GroupID);
      rows = cmd.ExecuteNonQuery(); 
    }
    finally
    {
      if (conn != null)
      {
        conn.Close();
      }
      conn.Close();
    }
  }
}

Любой совет, чтобы решить проблему? введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...