xin chào admin
tôi có 1 table như hình trên, trường STT khai báo indentity(1,1) tự động tăng
ở giao diện thêm mới tôi ko đưa trường STT vào mà chỉ đưa các trường bên dưới cho người dùng nhập
Code Lưu SQL mình viết như sau
sql = “INSERT INTO BT_QLMAY(JVCODE,TENMAY,GR,SOSERI,INVNO,HANGSX,NAMSX,NNHAP,NGUYENGIA,GHICHU) VALUES (N'” + txtJVCode.Text.Trim() + “‘,N'” + txtTenMay.Text.Trim() + “‘,N'” + cboLine.Text.Trim() + “‘,N'” + txtSerialNo.Text.Trim() + “‘,N'” + txtInvoiceNo.Text.Trim() + “‘,N'” + txtHangSX.Text.Trim() + “‘,N'” + txtNamSX.Text.Trim() + “‘,'” + dtmNgayNhap.Text + “‘,N'” + txtNguyenGia.Text.Trim() + “‘,N'” + txtGhiChu.Text.Trim() + “‘,'” + Functions.ConvertDateTime(dtmNgayNhap.Text) + “‘)”;
Functions.RunSQL(sql);
LoadDataGridView(); //Nạp lại DataGridView
Khi người dùng nhập vào các trường cần thiết và bấm lưu thì báo lỗi
theo mình hiểu thì nó báo thiếu trường nhập vào trong db.
mình thử thêm trường STT trống thì lại báo
mình đã tìm lỗi thử lỗi này nhưng vẫn ko xử lý cho thêm mới dc,
nhảy đi nhảy lại 2 lỗi trên đó,
nhờ admin giải thích giúp với.
xin cảm ơn
BT_QLMAY(JVCODE,TENMAY,GR,SOSERI,INVNO,HANGSX,NAMSX,NNHAP,NGUYENGIA,GHICHU) VALUES (N’” + txtJVCode.Text.Trim() + “‘,N’” + txtTenMay.Text.Trim() + “‘,N’” + cboLine.Text.Trim() + “‘,N’” + txtSerialNo.Text.Trim() + “‘,N’” + txtInvoiceNo.Text.Trim() + “‘,N’” + txtHangSX.Text.Trim() + “‘,N’” + txtNamSX.Text.Trim() + “‘,’” + dtmNgayNhap.Text + “‘,N’” + txtNguyenGia.Text.Trim() + “‘,N’” + txtGhiChu.Text.Trim() + “‘);
==> Mình bỏ cột STT đi, tổng 10 cột cần thêm vào, giá trị bên dưới mình đếm đủ 10 trường nhưng vẫn ko nhập dc. ko biết có sai sót trong code gì ko?
Bạn chụp cái thông báo lỗi mình xem nào
Vì trường STT của bạn là tự động tăng rồi nên bạn không cần Insert thêm trường STT nữa, nếu không nó sẽ báo lỗi.
Còn lỗi thứ nhất của bạn: Do số cột ở phần Insert TenBang(Danh sách các cột) Values (Danh sách các giá trị), phần Danh sách các cột và danh sách các giá trị không khớp nhau, mình đang thấy danh sách các cột có 9, mà danh sách các giá trị bạn truyền vào là 10 nên nó báo lỗi thôi