dự án tham dự

lập trình


Đâ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

Làm cách nào tôi có thể tìm kiếm dữ liệu từ bảng như vậy, tôi muốn những dữ liệu này theo tháng thông minh trong datagridview.

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

コメント

タイトルとURLをコピーしました