Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
cả nhà cho e hỏi cách xây dựng csdl cũng như xử lý trên winform bài toán như sau:
nhập vào ngày ban đầu t1 sau khi cộng thêm 1 khoảng thời gian tìm ra ngày t2 sau đó cộng hoặc trừ thêm 1 khoảng thời gian thì dk t3
vd như nhập vào ngày: 20/10/2017 cộng thêm: 1 ngày được: 21/10/2017 rồi trừ đi 2 ngày thì được: 19/10/2017 ......
20/10/2017 + 1 ngày = 21/10/2017
21/10/2017 - 2 ngày = 19/10/2017
19/10/2017 + 4 ngày = 23/10/2017
...... cộng trừ thời gian và ra ngày mới ......
có cao nhân nào chỉ giáo với e cám ơn nhiều!
Code SQL của bạn đây
Vì bạn yêu cầu nên mình dùng hàm CONVERT để format lại ngày khi trả về, nhưng mình góp ý với bạn nên giữ kiểu DATE trong câu lệnh SELECT, và format lại khi show kết quả ra cho người xem.
Còn về code C#, vì không biết bạn get và bind dữ liệu theo cách nào nên mình không giúp được. Nhưng nếu bạn đang sử dụng DataTable để chứa dữ liệu và DataGridView để hiện thì có thể làm như thế này
Với SQL Server bạn có thể dùng hàm DATEADD để cộng trừ thời gian. Ví dụ:
Với winform (mình đang dùng C# nên đây là code C# nha bạn, các ngôn ngữ khác tương tự thôi.) bạn dùng DateTime::AddDays(). Có các hàm khác như AddYears(), AddMinutes() ... nhưng bạn đang muốn cộng trừ ngày nên dùng AddDays(). Ví dụ
Bạn có thể tìm thấy hướng dẫn chi tiết về cách sử dụng các hàm trên nếu vào google.com và tìm theo từ khóa "dateadd sql", "adddays c#". Chỉ cần chịu khó tìm một tí là có rất nhiều cách cho bạn lựa chọn và phù hợp với yêu cầu của bạn, hai cách trên mình thường dùng nên góp ý thôi.