01/10/2018, 00:53

Hỏi về insert datetime vào csdl sql trong asp.net

Mình có 1 table bên trong có cột tên là NgayThemSP , mình muốn insert bài viết từ web vào trong csdl rồi láy luôn cái ngày hiện tại, nhưng sao nó cứ bị báo lỗi The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
đây là dòng code insert của mình:

SqlCommand cmd2 = new SqlCommand("Insert into SanPham(MaSP,TenSP,GiaSP,ChiTietSP,URLImages,MaLoaiHang,NgayThemSP) 
Values('" + txtMaSP.Text + "',N'" + txtTenSP.Text + "','" + txtGiaSP.Text + "',N'" + txtChiTietSP.Text + "','" + ten_folder + "','" + txtMaLoaiHang.Text + "','"+ DateTime.Now +"')", ketnoi); 

mấy bác biết cách insert datetime vào sql qua web cho e bik cách fix với ạ

ACP viết 03:03 ngày 01/10/2018

Nếu bạn dùng entity thì nó convert sẵn nhưng nếu dùng sqlcommand như vậy thì phải convert datetime thì mới insert vào bảng sql được.

Ví dụ muốn insert ngày tháng năm và cả thời gian thì dùng lệnh: CONVERT(VARCHAR, ‘DateTime.Now’, 103) vào chỗ DateTime.Now

Tham khảo thêm: http://stackoverflow.com/questions/20838344/sql-the-conversion-of-a-varchar-data-type-to-a-datetime-data-type-resulted-in

Tonny viết 03:07 ngày 01/10/2018

e thay như thế này nó vẫn bị lỗi Conversion failed when converting date and/or time from character string. :((
e kiếm sáng giờ đủ thứ trên mạng mà vẫn ko fix dc :(( help me please :((

ACP viết 03:08 ngày 01/10/2018

Tại sao lại dùng Convert.ToDate… bạn có chắc là cái string được tạo ra có đúng định dạng DateTime của SQL không?

Ở trên mình có đưa ra 1 cách, bạn có thử chưa? Thay cái Convert… của bạn bằng CONVERT(VARCHAR, ‘DateTime.Now’, 103) (hàm convert này thì SQL có hỗ trợ).

Bài liên quan
0