У меня проблема, хотя я проверил первичный ключ в базе данных. Дополнительная информация:Не удается вставить дубликат ключа в объект
Дополнительная информация: Нарушение ограничения PRIMARY KEY 'PK_Yeucaukhachhang. Невозможно вставить дублирующий ключ в объект 'dbo.Yeucaukhachhang'. Значение дублирующегося ключа (MH01123123).
using (SqlConnection sqlCon = new SqlConnection(sqlCnt))
{
for (int i = 0; i < metroGrid2.Rows.Count; i++)
{
SqlCommand cmd = new SqlCommand("INSERT INTO
Yeucaukhachhang(MaKH,MaHang,TenHang,DonViTinh,Dongia,
SoLuong,Duyet) values('"+ makh.Text+"','"+
metroGrid2.Rows[i].Cells["mahang"].Value +
"','"+metroGrid2.Rows[i].Cells["tenhang"].Value+"', '"+
metroGrid2.Rows[i].Cells["donvitinh"].Value+"', '"+
metroGrid2.Rows[i].Cells["dongia"].Value+"', '"+
metroGrid2.Rows[i].Cells["soluong"].Value+"', 'N')", sqlCon);
SqlCommand cmd1 = new SqlCommand("INSERT INTO DanhMucKhachHang(MaKhachHang,TenKhachHang,DiaChiKhachHang,SDTKhachHang,CMD,masothue,thanhtoan,nganhang,taikhoannganhang,ngaythang,MaHang,TenHang,DonViTinh,Dongia,SoLuong,Duyet) VALUES(@MaKhachHang,@TenKhachHang,@DiaChiKhachHang,@SDTKhachHang,@CMD,@masothue,@thanhtoan,@nganhang,@taikhoannganhang,@ngaythang)", sqlCon);
cmd1.Parameters.AddWithValue("@MaKhachHang", makh.Text);
cmd1.Parameters.AddWithValue("@TenKhachHang", namekh.Text);
cmd1.Parameters.AddWithValue("@DiaChiKhachHang", address.Text);
cmd1.Parameters.AddWithValue("@SDTKhachHang", phone.Text);
cmd1.Parameters.AddWithValue("@CMD", idkh.Text);
cmd1.Parameters.AddWithValue("@masothue", idthue.Text);
cmd1.Parameters.AddWithValue("@thanhtoan", deliver.Text);
cmd1.Parameters.AddWithValue("@nganhang", bank.Text);
cmd1.Parameters.AddWithValue("@taikhoannganhang", idacc.Text);
cmd1.Parameters.AddWithValue("@ngaythang", this.datekh.Value);
sqlCon.Open();
cmd.ExecuteNonQuery();
cmd1.ExecuteNonQuery();
sqlCon.Close();
MessageBox.Show("Thêm thành công, đa chuyển qua xác nhận yêu cầu");
LTQL.Home.Home cort = new LTQL.Home.Home();
cort.Show();
this.Hide();
}
1. Проверено имя базы данных. 2. Напишите sql delete makh = MH01123123 и повторите попытку. –
Почему вы используете параметризованный запрос для 'cmd1', но не для' cmd'? –
, пожалуйста, напишите свою структуру таблицы для Yeucaukhachhang. – tharif