[ad_1]
Đây là một dự án tham dự.
Tôi muốn lưu trữ dữ liệu như thế này
Bảng có 4 trường srno, tên, ngày, điểm danh
làm ơn cho tôi 1 2 3 4 5 6 7 8 9 10 11 12…. cái này 31
1 abcd PPAPAP
2 cccc APAPPP
3 đdd PPPPAP
Vấn đề là làm cách nào để tìm kiếm dữ liệu từ bảng như vậy?
Tôi muốn những dữ liệu này được cung cấp theo tháng trong DataGridView
.
Giải pháp 1
Bằng cách chuẩn bị một cách thích hợp Truy vấn.
Nếu cần, bạn có thể sử dụng thủ tục lưu sẵn, hàm có giá trị bảng để có được định dạng mong muốn.
Giải pháp 2
CHÀO,
Đề xuất của tôi là thiết kế bảng như thế này
SrlKhông có Ngày Sinh viênID AttFlag
1 28/12/2010 1 P
1 28/12/2010 2 A
Giải pháp 3
Tạo cấu trúc Bảng của bạn như thế này
S.Không | Tên | Năm | Tháng | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | D11 | D12 | D13 | D14 | D15 | D16 | D17 | D18 | D19 | D20 | D21 | D22 | D23 | D24 | D25 | D26 | D27 | D28 | D29 | D30 | D31 |
1 | CG | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
2 | JSOP | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
3 | Pete | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
4 | Nish | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
5 | Lục | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
6 | sacha | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
7 | Dave | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
số 8 | ĐĐ | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
9 | Marc | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
10 | Chris | 2010 | 12 | P | P | P | P | P | P | P | P | P | MỘT | P | P | P | P | MỘT | MỘT | MỘT | MỘT | MỘT | P | P | P | MỘT | P | P | P | P | P | P | P | P |
Bây giờ bạn có thể đưa mọi thứ lên giao diện người dùng bằng cách sử dụng điều khiển Gridview với các mẫu.
GridView được tạo mẫu động với các tùy chọn chỉnh sửa, xóa và chèn[^]
Bạn có thể sử dụng điều khiển hộp kiểm trong mẫu Mục ở chế độ xem lưới để đánh dấu người đó có mặt hay vắng mặt. Đồng thời tạo các cột S.No, Name, only read vì bạn không cần nhập nội dung vào các trường đó. Ngoài ra, bạn có thể đặt năm và tháng vào danh sách thả xuống trong mẫu Mục. Dù sao đi nữa.
BTW kiểm tra những thứ như tổng số ngày trong tháng 2 (28 hoặc 29 dựa trên năm nhuận).
Giải pháp 4
I have a quest too ,, I want to show NULL value in checkout column as user didnt check out yet but its showing me checkin time like 9:30 which is actually checkin time.. It should show null value.. here is my below code
select z.USERID, z.NAME, x.CalendarDate ,c.USERID, c.SENSORID, convert(date, c.CHECKTIME) as CHECKDate ,(select min(CHECKTIME) from CHECKINOUT cinout where cinout.USERID = c.USERID and cinout.SENSORID = c.SENSORID and cinout.CheckTime >= dateadd(hour, 6, convert(datetime, convert(date, c.CheckTime)))) CheckIn ,(select max (CHECKTIME) from CHECKINOUT cinout where cinout.USERID = c.USERID and cinout.SENSORID = c.SENSORID and cinout.CheckTime <= dateadd(hour, 29, convert(datetime, convert(date, c.CheckTime)))) COut from USERINFO z cross join calendar x left join CHECKINOUT c on convert(date, x.calendardate) = convert(date,c.CHECKTIME) and z.USERID = c.USERID where NAME = 'Awais' and CAST(x.CalendarDate as DATE) between '20231226' and '20240103' Group By z.USERID, z.NAME, x.CalendarDate ,c.USERID, c.SENSORID, convert(date, c.CHECKTIME) order by x.CalendarDate
[ad_2]
コメント