Нарушение ограничения PRIMARY KEY PK_SES. Невозможно вставить повторяющийся ключ в объект 'dbo.SES'. Повторяющееся значение ключа: (456785)
Я новичок в C #. Пожалуйста, помогите мне с этой проблемой.
Возникло исключение: 'System.Data.SqlClient.SqlException' в System.Data.SqlClient.dll Необработанное исключение типа 'System.Data.SqlClient.SqlException' произошло в System.Data.SqlClient.dll Нарушение ограничения PRIMARY KEY 'PK_SES '. Невозможно вставить повторяющийся ключ в объект 'dbo.SES'. Повторяющееся значение ключа - (456785).
Обратите внимание, я не программист, я просто ученик, которому дали школьный проект.
Вот код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
namespace DiTEC_Assignment
{
public partial class SES : Form
{
SqlConnection conn;
SqlCommand cmd;
SqlDataAdapter sda;
public SES()
{
InitializeComponent();
}
private void btnInsert_Click(object sender, EventArgs e)
{
using var conn = new SqlConnection(@"Data Source=TS-G5\SQLEXPRESS;Initial Catalog=EsoftProj;Integrated Security=True");
using var cmd = new SqlCommand("INSERT INTO SES([Registration Number], [Student Name], [Date of Birth], Gender, [Contact Number], [Course enrolled in]) VALUES (@RegistrationNumber,@StudentName,@DateOfBirth,@Gender,@ContactNumber,@CourseEnrolledIn)", conn);
conn.Open();
cmd.Parameters.Add("@RegistrationNumber", SqlDbType.Int).Value = Convert.ToInt32(RegNumTB.Text);
cmd.Parameters.Add("@StudentName", SqlDbType.Text).Value = StudentNameTB.Text;
cmd.Parameters.Add("@DateOfBirth", SqlDbType.Date).Value = DoBPick.Value.Date;
cmd.Parameters.Add("@Gender", SqlDbType.Text).Value = GMale.Checked ? "M" : "F";
cmd.Parameters.Add("@ContactNumber", SqlDbType.Int).Value = Convert.ToInt32(ContactNumTB.Text);
cmd.Parameters.Add("@CourseEnrolledIn", SqlDbType.Text).Value = CourseEnrSel.GetItemText(CourseEnrSel.SelectedItem);
cmd.ExecuteNonQuery();
if(cmd.ExecuteNonQuery()>0)
{
MessageBox.Show("Record inserted");
}
else
{
MessageBox.Show("Record failed");
}
}
}
}