Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
โครงงานคอมพวเตอร ประเภทโครงงาน โครงงานประยกตใชงาน
ชอโครงงาน ระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมย
ชอผจดท าโครงงาน
1) นายพงศสระ วงโส เลขท 1 2) นายอนนดา ขวยเจรญ เลขท 3 3) นายเกยรตพงษ รวมรก เลขท 4 4) นายธนวฒ ศวภกดวจนเลศ เลขท 6 5) นายธวภณ ธรรมบ ารง เลขท 8 6) นางสาวพจตรา ธรรมมาธกรกล เลขท 15 7) นางสาวธตมา สจถาพร เลขท 31
คณครกรวรรณ ยนนาน ครทปรกษาโครงงาน
โรงเรยน เกาะสมย อ าเภอเกาะสมย จงหวดสราษฎรธาน รายงานโครงงานคอมพวเตอร โครงงานนเปนสวนหนงของการศกษา
วชา โครงงานคอมพวเตอร ( ง32102 ) ภาคเรยนท 2 ปการศกษา 2557
บทคดยอ
โครงงานการพฒนาระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมย ซอฟตแวรคอมพวเตอร จดท าขนโดยมวตถประสงคเพอน าเอาความรความเขาใจไปใชในการเรยน ทงนไดทางการศกษาคนควาเนอหาความรทสนใจเกยวกบเรอง ซอฟตแวรคอมพวเตอร หมายถง ชดค าสงทสงงานคอมพวเตอรเปนล าดบขนตอน ของการท างาน ชดค าสงเหลานไดจดเตรยมไวในหนวยความจ าของคอมพวเตอร คอมพวเตอรอานชดค าสงแลวท างานตาม ซอฟตแวรจงเปนสงทมนษยจดท าขน และคอมพวเตอรจะท างานตามคณลกษณะของซอฟตแวรทวางไวแลวเทานน
บทท 1
บทน า
ทมา และ ความส าคญ
ปจจบนความกาวหนาทางเทคโนโลยสารสนเทศกอใหเกดการเปลยนแปลงครงยงใหญตอทกวงการทวโลก รวมทงวงการศกษาไทยดวย และผลพวงทตดตามมาในแงเทคนควธการเกยวกบกระบวนการเรยนรคอแนวโนมในการเรยนรแบบโตตอบสองทาง ( Interactive) ทกาลงกาวเขามาแทนทกระบวนการเรยนรแบบเดม ทผรบไดแต “รบเอา” โดยไมอาจ “เลอก” แตอยางใด จากแนวคดดงกลาว ประเทศตาง ๆ ทวโลกตางหนมาใหความสนใจในการพฒนาเทคโนโลยสารสนเทศ เพอใชใหเกดประโยชนสงสดแกผเรยนในทกระดบ มการใชเครองคอมพวเตอรและสออ เลกทรอนกสมากขน ผเรยนรนใหมจะเปนผเรยนทมความคดรกการเรยนร มหลกในการศกษาคนควาอยางเปนระบบมความคดรเรมสรางสรรคสงใหม ๆ มความรทกษะทจาเปนในการแสวงหา
ความรดวยตนเองมากขน จงเปนทยอมรบวา เทคโนโลยสารสนเทศ ไดกลายเปนปจจยทส าคญในการพฒนาประเทศการจดการศกษาจงตองมการปรบตวในการนาเทคโนโลยสารสนเทศมาใชประโยชนในทก ๆ ดาน โดยเฉพาะอยางยง ดานการจดการเรยนการสอนนน ไดมขอก าหนดไวในพระราชบญญตการศกษาแหงชาต พ.ศ. 2542 วา รฐตองสงเสรมและสนบสนนใหมการผลตสอเทคโนโลยเพอการศกษา รวมทงใหมการพฒนาบคลากรดานการผลตและผใชใหมความรความสามารถ มทกษะตลอดจนผเรยนใหมสทธทจะไดรบการพฒนาเพอใหมความรและทกษะเพยงพอทจะใชเทคโนโลยเพอการศกษา ในการแสวงหาความรดวยตนเองไดอยางตอเนองตลอดชวต วตถประสงค 1. สรางสอการเรยนรดวยโปรแกรมคอมพวเตอร 2. ศกษาโปรแกรมคอมพวเตอรทใชสรางสอการเรยนร 3. ศกษาการจ าท าโครงงานคอมพวเตอร 4. เพอศกษาคนควาเรองทสนใจเกยวกบเรองซอฟตแวรคอมพวเตอร 5. เพอศกษาใหเขาใจกบซอฟแวรคอมพวเตอร
ขอบเขตของโครงงาน จดท าโครงงานระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมย
ผลทคาดวาจะไดรบ 1) ประยกตใชโปรแกรมไดหลากหลาย 2) เพมทกษะในการใชโปรแกรมใหกบตวเอง 3) สามารถน าความรทไดรบจากการศกษา 4) ไดเรยนรและสามารถพฒนาเวบไซตทสามารถใชในการศกษาคนควาไดจรง 5) ไดน าเอาเทคโนโลยสารเทศมาใชใหเกดประโยชน
บทท 2
เอกสารทเกยวของ 1.ความหมายของซอฟตแวร ซอฟตแวร (Software) หมายถง สวนทท าหนาทเปนค าสงทใชควบคมการท างานของเครองคอมพวเตอร หรออาจเรยกวา “ โปรแกรม ” กได ซงหมายถงค าสงหรอชดค าสง สามารถใชเพอสงใหคอมพวเตอรท างาน เราตองการใหเครองคอมพวเตอรท าอะไรกเขยนเปนค าสงทจะตองสงเปนขนตอน และแตละขนตอนตองท าอยางละเอยดและครบถวนกจะเรยกวา นกเขยนโปรแกรม (Programmer) ส าหรบการเขยนโปรแกรมดงกลาวใชภาษาทใชในการเขยนโปรแกรมโดยเฉพาะ หรอหมายถง ภาษาทเครองคอมพวเตอรสามารถเขาใจได เชน ภาษาเบสก ภาษาโคบอล ภาษาปาสคาล ประเภทของซอฟตแวร ซอฟตแวรจะแบงออกเปนประเภทใหญ ๆ ได ประเภท คอ ซอฟตแวรระบบ (System Software) และซอฟตแวรประยกต ( Application Softwaer) ซงมรายละเอยด ดงน
1.ซอฟตแวรระบบ ( System Software) หมายถง โปรแกรมทมหนาทควบคมการท างานของฮารดแวรทกอยางและอ านวยความสะดวกใหกบผใชเครองคอมพวเตอร แบงออกเปนโปรแกรมตามหนาทการท างานดงน
1.1 OS (Operating System) คอ โปรแกรมระบบทท าหนาทควบคมการใชงานสวนตาง ๆ ของเครอง
คอมพวเตอร เชน ควบคมหนวยความจ า ควบคมหนวยประมวลผล ควบคมหนวยรบและควบคมหนวยแสดงผล ตลอดจนแฟมขอมลตาง ๆ ใหมประสทธภาพในการท างานสงทสด และสามารถใชอปกรณทกสาวนของคอมพวเตอรและชวยจดการกระบวนการพนฐานทส าคญ ๆ ภายในเครองคอมพวเตอร เชนการเปด หรอปดไฟล การสอสารกนระหวางชนสวนตาง ๆ ภายในเครอง การสงขอมลออกสเครองพมพหรอสจอภาพ เปนตน กอนทคอมพวเตอรแตละเครองจะสามารถอานไฟลตาง ๆ หรอสามารถใชซอฟตแวรตาง ๆ ไดจะตองผานการดงระบบปฏบตการออกมาฝงตวอยในหนวยความจ ากอน ปจจบนนมโปรแกรมระบบบอยหลายตว ดวยกนซงแตละตวนนกเปนโปรแกรมระบบปฏบตการเหมอนกน แตตางกนทลกษณะการท างานจะไมเหมอนกน
1.2 Translation Program คอโปรแกรมทท าหนาทในการแปลโปรแกรมหรอชดค าสงทเขยนดวยภาษา
ทไมใชภาษาเครอง หรอภาษาเครองทไมเขาใจใหเปนภาษาทเครองสามารถรเรองเขาใจ และน าไปปฏบตได เชน ภาษา BASIC ,COBOL,C, PASCAL, FORTRAN, ASSEMBLY เปนตน ส าหรบตวแปลนนจะม 3 แบบคอ
1. แอสเซมเบลอร ( Assembler) เปนตวแปลภาษาแอสเซมบลซงเปนภาษาระดบต า ใหเปนภาษาเครอง
2. อนเทอรพรเตอร ( Interpreter) เปนตวแปลภาษาคอมพวเตอรระดบสงไปเปนภาษาเครอง โดยใชหลกการแปลค าสงครงละ 1 ค าสงใหเปนภาษาเครอง แลวน าค าสงทเปนภาษาเครองนนไปท าการประมวลผล และแสดงผลลพธทนทหากไมพบขอผดพลาด หลงจากนนจะแปลค าสงถดไปเรอยๆจนกวาจะจบโปรแกรม ในระหวางการแปลค าสง ถาหากพบขอผดพลาดทางไวยากรณของภาษา โปรแกรมอนเทอรพรเตอรกจะหยดการท างานพรอมแจงขอผดพลาดใหท าการ
แกไขซงท าไดงายและรวดเรว แตออบเจคโคดทไดจากการแปลค าสงโดยใชอนเทอพรเตอรนนไมสามารถเกบไวใชใหมได จะตองแปลโปรแกรมใหมทกครงทตองการใชงาน ท าใหโปรแกรม ท างานไดคอนขางชา
3. คอมไพเลอร ( Compiler) เปนตวแปลภาษาคอมพวเตอรระดบสงไปเปนภาษาเครอง โดยท าการตรวจสอบความถกตองของการเขยนค าสงทงหมดทงโปรแกรมใหเปนออบเจคโคด แลวจงท าการแปลค าสงไปเปนภาษาเครอง จากนนจงท าท าการประมวลผลและแสดงผลลพธ หากพบขอผดพลาดของการเขยนโปรแกรม หรอมค าสงทผดหลกไวยากรณของภาษาคอมพวเตอร โปรแกรมคอมไพเลอรจะแจงใหโปรแกรมเมอรท าการแกไขใหถกตองทงหมดกอนแลวจงคอมไพลใหมอกครง จนกวาไมพบขอผดพลาดถงจะน าโปรแกรมไปใชงานได
ขอดของคอมไพเลอร คอโปรแกรมออปเจคโคดทไดจะรวบรวมค าสงทส าคญในการรนโปรแกรม และไดโปรแกรมทท างานเองได หรอ Execute Program ซงสามารถท างานไดไมจ ากด ไมตองเสยเวลาในการแปลใหมทกครง ท าใหการท างานของโปรแกรมเปนไปอย างรวดเรว จงเปนรปแบบการแปลทไดรบความนยมอยางมาก
ในปจจบน มหลกการแปลภาษาคอมพวเตอรแบบใหมเกดขน คอ แปลจากซอรสโคด ไปเปนรหสชวคราว หรออนเทอมเดยตโคด ( Intermediate Code) ซงสามารถน าไปท างานไดดวย การใชโปรแกรมในการอาน และท างานตามรหสชวคราวนน โดยโปรแกรมนจะมหลกการท างาน คลายกบอนเทอพรเตอร แตจะท างานไดเรวกวาเนองจากรหสชวคราวจะใกลเคยงกบภาษาเครองมาก มขอดคอสามารถน ารหสชวคราวนนไปใชไดกบทก ๆ เครองมมโปรแกรมตความไดทนท Assembler เปนโปแกรมทใชแปลภาษาแอสแซมบล ซงมลกษณะการแปลทละค าสง เมอท าตามค าสงนนเสรจแลว กจะแปลค าสงถดไปเรอย ๆ จนจบ
2.ซอฟตแวรประยกต (Application Software) หมายถง โปรแกรมทผใชคอมพวเตอรเปนผเขยนมาใชงานเอง เพอสงใหคอมพวเตอรท างานอยางใดอยางหนงตามทตองการ ซงแบงไดดงน
2.1 User Program คอ โปรแกรมทผใชเขยนมาใชเอง โดยใชภาษาระดบตาง ๆ ทางคอมพวเตอร เชน ภาษา BSDIC , COBOL , PSDCSL , C , ASSEMBLY FORTRAN ฯลฯ ซงการทจะเลอกใชภาษาใดนนกขนอยกบความเหมาะสมของงานเหลานนดวย เชน โปรแกรมระบบบญช, โปแกรมควบคมสตอกสนคา, โปแกรมแฟมทะเบยนประวต โปรแกรมค านวณภาษ,โปรแกรมคดเงนเดอน
2.2 Package Program คอ โปรแกรมส าเรจรปซงเปนโปรแกรมทถกสรางหรอเขยนขนมาโดยบรษท ตาง ๆ เสรจเรยบรอยแลวพรอมทจะน าไปใชงานตาง ๆ ไดทนทตวอยางเชน Word Processor โปรแกรมทชวยในการท าเอกสาร พมพงานตาง ๆ เชน เวรดจฬา , เวรดราชวถ, Microsoft Word, WordPerfect, AmiPro เปนตน
1. โปรแกรมทางดาน Word Processor โปรแกรมทางดาน Word Processor นน เปนโปรแกรมทท างานเกยวกบทางดานการประมวลผลค า สามารถจดท าเอกสาร รายงาน จดหมาย หนงสอตาง ๆ ได ท าใหไดงานทมประสทธภาพ สวยงาม เนองจากสามารถจดรปแบบงานตามตองการไดรวมทงยงแกไขงานทท าไดดวย อกทงยงชวยประหยดเวลาในการแกไขงาน และสามารถคนหาขอความตาง ๆ ไดอยางสะดวก
2. โปรแกรมทางดาน Spreadsheet โปรแกรมทางดาน Spreadsheet เปนโปรแกรมทมลกษณะเปนกระดาษท าการขนาดใหญ หรอ เรยกวา Worksheetประกอบดวยสวนทเปน Row หรอแถวตามแนวนอนและสวนทเปน Column หรอแถวตามแนวตง ซงใชในดานการค านวณเปนสวนมาก นอกจากนนยงมการน าเสนอขอมลออกมาในรปของกราฟโดยสรางเปนกราฟ 2 มตและ 3 มตไดอกดวย โปรแกรม Spreadsheet เหมาะกบการท างานในดานการบญช การเงน การวเคราะหขอมล หรองานการคดคะแนนและเกรดของนกศกษา เปนตน 3. โปรแกรมทางดาน Database โปรแกรมประเภทนเปนโปรแกรมทท างานทางดานการจดการฐานขอมล ชวยจดเกบขอมล แกไข คนหา เพมเตม รวมทงการจดเรยงขอมล ท าใหผใชสะดวกรวดเรวสามารถท างานไดเปนระบบ โปรแกรม Database เหมาะกบการท างานทมขอมลมาก ๆ เชน การเกบสตอกสนคาคงคลง การเกบประวตพนกงาน การเกบรายชอนกศกษาในโรงเรยน การเกบรายชอหนงสอในหองสมด เปนตน
4. โปรแกรมทางดาน Graphic โปรแกรม Graphic สวนมากแลวจะเกยวกบทางดานงานออกแบบ เขยนแบบวาดภาพ จดท าสงพมพและจะเปนทางดานการน าเสนองาน สามารถน าไปประยกตใชในงานโฆษณา ท า Slide Show หรอน าไปใชกบระบบ Multimedia ได
5. โปรแกรมเกม ( Game) เปนโปรแกรมทแพรหลายเปนทรจกกนทวไป ไมวาจะเปนเดกหรอผใหญ และปจจบนนมโปรแกรมเกมตาง ๆ มากมาย ทงแบบธรรมดาและแบบ 3 มต ซงทจรงแลวโปรแกรมเกมสวนใหญจะสรางขนมา เพอชวยผอนคลายความตงเครยดในการท างานแตละสวนใหญแลวจะพบวาเดกจะเลน เพอความสนกสนานเพลดเพลนมากกวา ผใหญควรควบคมเกมทเดก ๆเลนดวย เพราะบางเกมเปนลกษณะของการตอส เพอใหเกดชยชนะ 6. โปรแกรมทางดานการสรางสถานการณจ าลอง เปนโปรแกรมทใหผเลนไดทดลองสรางสถานการณจ าลองของงานทอาจจะเกดขนไดหรออาจจะเรยกวา เกมสทางธรกจ โดยใหผเลนไดรจกวางแผนในการท างาน คดถงผลก าไรขาดทนทอาจจะเกดขนได รจกจดสรรงบประมาณทมอยใหไดผลก าไรมากทสด 7. โปรแกรมทางดานการตดตอสอสาร เปนโปรแกรมทมกนยมใชตามส านกงานตางๆทงของรฐและเอกชนในการนดหมายประชม การท าจดหมายเวยนไปตามฝายตางๆ โดยการเกบขอมลไวในคอมพวเตอรแทนทจะพมพออกมาทางกระดาษ เพอแจงใหพนกงานทราบ ขอดของโปรแกรมชนดนคอ ท าใหประหยดกระดาษลงไปไดมาก
8. โปรแกรมคอมพวเตอรชวยสอน โปรแกรมประเภทนเรยกอกอยางหนงวา CAI (Computer Assisted Instruction) เปนโปรแกรมทน ามาสอนใหกบนกเรยนในวชาตาง ๆ โดยทนกเรยนจะเรยนกบโปรแกรมบนคอมพวเตอรและครเปนผชแนะ ทดสอบ และวดความเขาใจ รวมทงสรปเนอหาทนกเรยนไดเรยนจากโปรแกรม CAI น ปจจบนโปรแกรมประเภทนเรมน าเขามาใชในโรงเรยนแพรหลายมากขน
ขนตอนการพฒนาโปรแกรม ในการเขยนโปรแกรมเพอแกปญหาตางๆจ าเปนตองมการวางแผน และออกแบบโปรแกรมไวลวงหนา โดยก าหนดขนตอนวธการท างานใหชดเจน ซงกระบวนการวเคราะห และออกแบบโปรแกรมเรยกวา วฏจกรการพฒนาระบบงาน System Development Lift Cycle ( SDLC) ซงมกระบวนการท างานเรมตนจากการวเคราะหปญหาไปจนถงการน าโปรแกรมไปใชงาน และปรบปรงพฒนาระบบใหดขน มขนตอนของ วฏจกรการพฒนาระบบงาน ดงตอไปน ขนตอนท 1 การวเคราะหปญหา (Problem Analysis) ขนตอนท 2 การออกแบบโปรแกรม (Program Design) ขนตอนท 3 การเขยนโปรแกรม (Program Coding) ขนตอนท 4 การทดสอบและแกไขโปรแกรม ( Program Testing & Verification) ขนตอนท 5 การจดท าเอกสารและคมอการใชงาน (Program Documentation) ขนตอนท 6 การใชงานจรง (Program Implement) ขนตอนท 7 การปรบปรงและพฒนาโปรแกรม (Program Maintenance) การวเคราะหปญหา (Problem Analysis) ขนตอนการวเคราะหปญหาสามารถจ าแนกไดดงน 1. ก าหนดขอบเขตของปญหา เพอใหทราบขนตอนการท างานตางๆ ดงน • ก าหนดจดประสงคการท างาน เพอใหทราบวาเขยนโปรแกรมเพอตองการแกปญหาอะไร เชน ปญหาเกยวกบการค านวณพนทของสามเหลยม เปนตน • ก าหนดเปาหมายใหชดเจน เพอใหไดผลลพธทตองการ เชน โปรแกรมค านวณพนทของสามเหลยม ตองการค านวณพนทรปสามเหลยมไดหลายขนาดและแสดงผลเปนตวเลข • ศกษาวธการแกปญหา เพอออกแบบขนตอนการท างานไดอยางเหมาะสม เชน การใชสตรค านวณทางคณตศาสตรตางๆ • ก าหนดขอจ ากดและศกษาความเปนไปไดเพอใชในการแกปญหาตามวตถประสงค เชน โปรแกรมค านวณพนทของสามเหลยม ตองการค านวณพนทไดเฉพาะรปสามเหลยม 2. ก าหนดขอมลน าเขา ซงประกอบหวขอพจารณาดงน • ก าหนดลกษณะการรบขอมล เชน รบขอมลจากแปนพมพ หรอ อานขอมลจากไฟล • รปแบบขอมลทรบเขามาเปนอยางไร เชน ขอมลชอนสตเกบเปนตวอกษรหรอสตรง ขอมลเงนเดอนพนกงานเกบเปนจ านวนทศนยม เปนตน • ขอบเขตของขอมลมชวงคาของขอมลไดเทาไหร เชน รบขอมลเงนเดอนมคาอยระหวาง 0.00 ถง 100,000.00 บาท เกบขอมลเปนจ านวนทศนยม เปนตน
• ขอจ ากดในการรบขอมลอยางไรบาง เชน รบขอมลไดเฉพาะคาตวเลขทมากกวา 0 เปนต 3. วธการประมวลผล เปนขนตอนทส าคญในการแกปญหา ประกอบดวยขอก าหนดดงน • ก าหนดวธการ หรอเทคนคทใชแกปญหา ปญหาตางๆ จะมวธการปญหาแตกตางกนไปขนอยกบสภาพของปญหา และผแกปญหา และปญหาหนงๆสามารถแกปญหาไดดวยหลายๆ วธการ ดงนนใหเลอกวธการแกปญหาทเหมาะสมกบปญหานนๆ • ก าหนดขนตอนท างานใหชดเจน เพอแกปญหาตามล าดบการท างานของวธการทไดเลอกใช และประมวลผลใหไดผลลพธทตองการ 4. ก าหนดผลลพธ • ก าหนดรปแบบการแสดงผล เชน แสดงผลลพธเปนภาพกราฟฟกสทางจอภาพ หรอพมพขอมลออกทางเครองพมพ เปนตน • ตรวจสอบขอผดพลาดและความถกตองของผลลพธ เชน ตรวจสอบขอผดพลาดจากการค านวณ ตรวจสอบผลลพธวาถกตองตรงตามทตองการหรอไม 5. ก าหนดโครงสรางขอมลทใช ประกอบดวย • ภาษาทใชในการเขยนโปรแกรม ซงขนอยกบความถนด ประเภทของงานและคณสมบตเฉพาะของเครองคอมพวเตอร • วธการเกบขอมลและเรยกใชตวแปร เชนการประกาศตวแปรอาเรยใหสามารถเกบขอมลไดหลายตว หรอเกบขอมลเปนคลาส หรอตามโครงสรางขอมลแบบตางๆ เปนตน การออกแบบโปรแกรม (Program Design) ประกอบดวยวธการดงน คอ 1. การออกแบบโปรแกรมโดยใช อลกอรธม (Algorithm) เปนการอธบายถงล าดบขนตอนการท างานของการแกปญหาโดยใชประโยคขอความทชดเจนไมคลมเครอ สามารถบอกล าดบการท างานได ซงมประโยชนดงน • ท าใหเหนล าดบของการท างานและวธการท างานแตละขนตอนไดอยางละเอยด • ท าใหเหนภาพรวมของการท างานของขนตอนทงหมด • เปนการวางแผนการท างานไวลวงหนา ท าใหสามารถน าไปเขยนเปนโปรแกรมไดอยางถกตองและรวดเรว 2. การออกแบบโปรแกรมโดยใช รหสจ าลอง (Pseudo Code) เปนการออกแบบขนตอนการท างานของโปรแกรมโดยการใชขอความภาษาองกฤษทใกลเคยงกบภาษาคอมพวเตอร ซงมหลกการท างานและประโยชนเหมอนกบการใชอลกอรธม แตมขอด ดงนคอ • สามารถน ารหสจ าลองไปใชเขยนโปรแกรมไดงายกวาการใชอลกอรธม เพราะมความใกลเคยงกบค าสงคอมพวเตอร • ผออกแบบโปรแกรมตองมความรทางดานภาษาคอมพวเตอรบาง เพอใหสามารถน าไปประยกตใชและเขยนโปรแกรมเปนภาษาอนๆไดหลายภาษา 3. การออกแบบโปรแกรมโดยใช ผงงาน (Flowchart) คอ การใชสญลกษณรปภาพ หรอกลองขอความบรรยายรายละเอยดการท างาน และใชลกศรบอกทศทางล าดบ ของการท างาน ซงมขอดดงน คอ
• สามารถอานและเขาใจการท างานไดงาย เพราะมองเหนภาพรวมขนตอนการท างานทงหมดไดชดเจน • สามารถออกแบบโครงสรางการท างานไดหลากหลายโดยใชลกศรแสดงทศทางการท างาน ท าใหแกปญหาทมหลายเลอกและซบซอนได
• ค าสงหรอค าบรรยายรายละเอยดในกลองขอความสามารถน าไปเขยนเปนค าสงของโปรแกรมได
การเขยนโปรแกรม (Program Coding) เปนขนตอนส าคญหลงจากไดผานการออกแบบโปรแกรมแลว โดยการน าแนวคดจากอลกอรธม หรอผงงานมาแปลงใหอยในรปค าสงคอมพวเตอร โดยอาศยความรและทกษะการเขยนโปรแกรมและใชภาษาคอมพวเตอรรวมทงเครองมอชวยในการเขยนโปรแกรมตางๆ เพอใหเกดผลลพธถกตอง และท างานตามทเราตองการ สรปการเขยนโปรแกรม ตองพจารณาองคประกอบดงน • เลอกภาษาทเหมาะสม • ลงมอเขยนโปรแกรม โดยการแปลงขนตอนการท างาน (ประมวลผล) ทไดจากการออกแบบ ใหอยในรปของค าสงทถกตอง ตรงตามรปแบบของภาษาทเลอกนน การทดสอบและแกไขโปรแกรม ( Program Testing & Verification) การทดสอบและแกไขโปรแกรม เปนขนตอนการตรวจสอบโปรแกรมทเขยนได วาท างานถกตองตรงตามความตองการของผใช หรอตรงตามลกษณะงานของโปรแกรมนนหรอไม ความผดพลาด ( Errors) ทสามารถเกดขนไดจากการเขยนโปรแกรม มดงน • Syntax Error ความผดพลาดทเกดจากการใชค าสงผดรปแบบทภาษานนก าหนด เชน การลมประกาศตวแปร การเขยนค าสงผอด เชน ค าสง while( ) เปน WHILE( ) • Logic Error ความผดพลาดทเกดจากการทโปรแกรมท างานผดไปจากขนตอนทควรจะเปน เชน การตรวจสอบเงอนไขผดไมตรงตามวตถประสงค ค านวณคาไดค าตอบไมถกตอง หรอ ท างานผดล าดบขนตอน เปนตน • System Design Error ความผดพลาดทเกดจากการทโปรแกรมท างานไดไมตรงตามความตองการของลกคา ขนตอนการทดสอบและแกไขโปรแกรม • Desk-Checking ผเขยนโปรแกรมตรวจสอบโปรแกรมดวยตนเอง ถาใหผอนชวยดจะเรยกวา Structured-Walkthrough • Translating ตรวจสอบรปแบบค าสงตางๆทใชในโปรแกรมโดยตวแปลภาษา ( Translator) เปนผตรวจ • Debugging เปนการทดลองใชโปรแกรมจรง เพอคนหาขอบกพรอง เชน ผลลพธทไมตรงตามความตองการ ซงอาจมสาเหตจาก Logic Errors และถาไดทดสอบกบผใชจรงกจะสามารถตรวจสอบ System Design Errors ได
การจดท าเอกสารและคมอการใชงาน (Program Documentation) การจดท าเอกสารและคมอการใชงานจดท าเอกสารตางๆ ทเกยวของกบระบบหรอการเขยนโปรแกรม ไดแก • คมอส าหรบผใชโปรแกรม (User's Manual or User's Guide) คอเอกสารทอธบายวธการใชระบบหรอโปรแกรม เรยกวา User Manual ใชส าหรบผใชงานโปรแกรม แนะน าวธการใชงานโปรแกรม แนะน าคณสมบต และองคประกอบของโปรแกรมตางๆ วธการตดตงโปรแกรม สามารถท าควบคไปกบการเขยนโปรแกรม อาจท าเปนคมอเอกสารทอยในรปแบบโปรแกรมออนไลนกได (Online Manual) • คมอส าหรบผเขยนโปรแกรม (Programmer's Manual or Programmer's Guide) เปนคมอทจดท าขน เพอใหผพฒนาโปรแกรม รวมทงเทคนคพเศษตางๆ ของโปรแกรม เพอใหสะดวกตอการปรบปรงแกไขโปรแกรมทมอยเดม โดยทวไปจะเปนเอกสารแสดงการวเคราะห และออกแบบระบบ เรยกวา System Manual ใชส าหรบผพฒนาระบบหรอโปรแกรม เทานน การใชงานจรง (Program Implement) การใชงานจรง เปนขนตอนส าคญหลงจากท าการทดสอบและแกไขโปรแกรมใหมความถกตองเรยบรอยแลว โดยการน าโปรแกรมไปใชงานจรงดวยการปอนขอมลตางๆ สภาวะแวดลอม และสถานการณตางๆโดยผใชงานโปรแกรมสามารถท างานตามฟงกชน และท าตามจดประสงคของโปรแกรมทเขยนไว ขนตอนการใชงานจรงของโปรแกรมหากพบขอผดพลาด กสามารถปรบปรง แกไข โปรแกรมใหถกตองได การปรบปรงและพฒนาโปรแกรม (Program Maintenance) การเขยนโปรแกรมทดตองมขนตอนการปรบปรงและพฒนาโปรแกรมใหมความถกตอง ทนสมย และตรงกบความตองการของผ ใชมากทสด โดยทวไปโปรแกรมทใชงานจะประกอบดวยหลายๆรน เชนรนทดสอบ (Beta Version) และ รนทใชงานจรง (Release Version) และตองมการปรบเปลยนโปรแกรมใหดขน ดงตวอยางเชนโปรแกรมเวอรชน 1 มการเพมเตม ปรบปรง แกไขโปรแกรมเปนเวอรชน 1.2 เปนตนการพฒนาโปรแกรมใหดขนมประโยชนตอผใชงาน และผเขยนโปรแกรมตองอาศยคมอการใชงาน และเอกสารประกอบของโปรแกรม เพอเปนแนวทางในการแกไข และใหผอนๆสามารถพฒนาตอได
บทท 3
วธด าเนนงานโครงงาน
ในการจดท าโครงงานคอมพวเตอร ระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมยน ผจดท าโครงงานมวธด าเนนงานโครงงาน ตามขนตอนดงตอไปน
3.1 วสด อปกรณ เครองมอหรอโปรแกรมหรอทใชในการพฒนา 3.1.1 เครองคอมพวเตอร พรอมเชอมตอระบบเครอขายอนเทอรเนต 3.1.2 โปรแกรม Visual Basic 2010 3.1.3 โปรแกรม Microsoft Word 2010
3.2 ขนตอนการด าเนนงาน 3.2.1 คดหวขอโครงงานเพอนาเสนอครทปรกษาโครงงาน 3.2.2 ศกษาและคนควาขอมลทเกยวของกบเรองทสนใจ คอเรองซอฟตแวร
คอมพวเตอรวามเนอหามากนอยเพยงใด 3.2.3 ศกษาการพฒนาการเขยนโปรแกรมจากเอกสารทครประจ าวชาก าหนด
3.2.4 จดท าโครงรางโครงงานคอมพวเตอรเพอนาเสนอครทปรกษา 3.2.5 ปฏบตการจดท าโครงงานระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมยสรางบทเรยนทสนใจตามแบบเสนอโครงรางทเสนอไว 3.2.6 น าเสนอรายงานความกาวหนาเปนระยะๆ โดยแจงใหครทปรกษาโครงงานเขาไปตรวจความกาวหนาของโครงงาน ซงครทปรกษา จะใหขอเสนอแนะตางๆ เพอใหจดท าเนอหา และการน าเสนอทนาสนใจตอไป
3.2.7 จดท าเอกสารรายงานโครงงานคอมพวเตอร โดยน าเสนอในรปแบบไฟล คอมพวเตอร 3.2.8 ประเมนผลงาน ระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมย 3.2.9 น าเสนอโครงงานระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมยและผานหองเรยนออนไลน www.krukea.com
บทท 4
ผลการด าเนนงานโครงงาน
การจดท าโครงงานคอมพวเตอรการพฒนาโปรแกรมระบบบนทกการลาของนกเรยน เรอง ซอฟตแวรคอมพวเตอร น มวตถประสงคเพอพฒนาโปรแกรม Visual Basic 2010 เพอใหผจดท าโครงงานสามารถน ามาประยกตใชใหเขากบการเรยนรของตนเองมากยงขน ตลอดจนสามารถในการใชงานผสนใจทวไป ซงมผลการด าเนนงานโครงงาน ดงน 4.1 ผลการพฒนาโปรแกรมระบบบนทกการลาของนกเรยน
ขนตอนการด าเนนงานทเสนอในบทท 3 แลว แลวไดมอบโปรแกรมใหกบครทปรกษา ระดบชนมธยมศกษาปท 5/1 ปการศกษา 2557 โรงเรยนเกาะสมย และหวหนาฝายบรหารทวไป กลมงานกจการนกเรยนโรงเรยนเกาะสมย เผยแพรผลงานผานเครอขายอนเทอรเนตในหองเรยน www.krukea.com
บทท 5
สรปผลการด าเนนงาน และขอเสนอแนะ
การจดท าโครงงานคอมพวเตอรการพฒนาโปรแกรมระบบบนทกการลาของนกเรยน นสามารถสรปผลการดาเนนโครงงาน และขอเสนอแนะ ดงน
5.1 การด าเนนงานจดท าโครงงาน 5.1.1 วตถประสงคของโครงงาน 5.1.1.1 เพอศกษาและพฒนาโปรแกรมระบบบนทกการลาของนกเรยน 5.1.1.2 เพอศกษาคนควาเรองทสนใจเกยวกบโปรแกรม 5.1.1.3 เพอใหผเรยนสามารถพฒนารปแบบของการเขยนโปรแกรมไดดวยตนเองและน ามาประยกตใชใหเขากบการเรยนรของตนเองมากยงขน 5.1.1.4 เพอใหสามารถตดตอสอสารกนไดระหวางคร เพอนและผสนใจทวไป 5.2.2 วสด อปกรณ เครองมอหรอโปรแกรมหรอทใชในการพฒนา 5.2.1.1 เครองคอมพวเตอร สามรถน าไปใชงานไดจรง 5.2.1.2 เผยแพรผลงานผานเครอขายอนเทอรเนตในหองเรยน www.krukea.com
5.2 สรปผลการด าเนนงานโครงงาน ขนตอนการด าเนนงานทเสนอในบทท 3 แลว แลวไดสมครเปนสมาชก www.krukea.com
จากนนไดน าเสนอเผยแพรผลงานผานเครอขายเครอขาย ทสามารถเขาถงไดทกททก ทงนเวบบลอกดงกลาว สามารถจดการและเชอมตอกบเวบไซตอนๆ ไดเปนอยางด โดยทงครทปรกษา เพอนๆในหองเรยนไดเขาไปมสวนรวมในการจดการเรยนร โดยแสดงความเหนในเนอหาและรปแบบของการน าเสนออยางหลากหลาย ซงท าใหเกดการเรยนรและเปนแหลงเรยนร ในโลกออนไลนอยางหลากหลายและรวดเรว
5.3 ขอเสนอแนะ 5.3.1 ขอเสนอแนะทวไป 5.3.1.1 เวบไซตทใหบรการ www.krukea.com ใหบคคลทเขามาเยยมหรอศกษาไดความรและสงด ๆ น าไปเผยแพรตอใหผอนมาศกษาความร ทเปนประโยชนตอไป 5.3.1.2 ควรมการจดทาเนอหาของโครงงานใหหลากหลายใหครบทกกลมสาระ การเรยนร 5.3.1.3 ควรมการจดทาแบบทดสอบกอนเรยนและหลงเรยนเพมเตม 5.3.2 ปญหา อปสรรค และแนวทางในการพฒนา 5.3.2.1 เครองคอมพวเตอรไมเพยงพอกบการท าโครงงาน และบางครงอนเทอรเนตมปญหา เขาพรอมกนกจะทาใหชา จงทาใหการพฒนาเวบบลอกเกดความลาชาตามไปดวย 5.3.2.2 ไดน าการพฒนาทกษะการเขยนโปรแกรมไปใชในการพฒนาตนเองมากขน
ภาคผนวก
คมอการใชโปรแกรม
1. ตดตง mysql-connector-net-6.9.9 2. Add References ชอ Mysql.Data ใน visual studio project 3. สรางฐานขอมลชอ schedule แลว import sql ไฟล ชอ schedule.sql หรอ copy folder schedule ไปไวใน Mysql/data 4. user ฐานขอมลคอ root และ password ฐานขอมลคอ 12345678 5. ระบบวนทของเครองตองเปนแบบ ค.ศ. เชน 01/01/2015 เพราะโปรแกรมนมการเกบขอมลเปนชนด date
ดบเบลคลก
ในไดร ทเกบขอมล
*
3. ก าหนดประเภทการลา
1. คลกก าหนดชนเรยน
2. คลกเพมรายการ
และบนทก
4. คลกเพมรายการ
และบนทก
5. คลกก าหนดขอมลนกเรยน
6. กรอกขอมลและบนทก
8.คนหาขอมล นกเรยน
9. คนหาประเภทการ
“ลา” 10.เมอลงขอมลทกชองแลวคลกปมบนทกขอมล
9. คนหาประเภทการ
“ลา”
คลกปม
บนทกขอมล
พบขอความท าการพมพ
ขอมลเรยบรอยแลว
คนหาขอมล
การลาของนกเรยน
ขนตอนการจดท าโปรแกรม
ก าหนดขอมลอางอง 1. ก าหนดระดบชน
GroupBox --> ก าหนดขอมลอางอง GroupBox --> บนทกขอมล GroupBox --> สอบถามขอมล
Btn_Level
Btn_Type
Btn_Master
Btn_Trans
Btn_Search
Public Class Frm_Main Private Sub Btn_Level_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Level.Click Dim ndialog As New Frm_Level_R ndialog.ShowDialog() End Sub Private Sub Btn_Type_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Type.Click Dim ndialog As New Frm_Type_R ndialog.ShowDialog() End Sub Private Sub Btn_Master_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Master.Click Dim ndialog As New Frm_Master_R ndialog.ShowDialog() End Sub Private Sub Btn_Trans_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Trans.Click Dim ndialog As New Frm_Schedule_T ndialog.ShowDialog() End Sub Private Sub Frm_Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conn = New MySqlConnection(connStr) If conn.State = ConnectionState.Closed Then conn.Open() End If End Sub Private Sub Btn_Search_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Search.Click Dim ndialog As New Frm_Query_T ndialog.ShowDialog() End Sub End Class
Private Sub Btn_Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Add.Click Txt_detail.Text = "" idclick = 0 Txt_detail.Enabled = True Btn_Add.Enabled = False Btn_Edit.Enabled = False Txt_detail.Focus() End Sub
Btn_Add
Btn_Edit
Btn_Edit Label2
Txt_detail
Dgv_Output
Txt_Search Label1 1
Private Sub Btn_Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Edit.Click Txt_detail.Enabled = True Btn_Add.Enabled = False Btn_Edit.Enabled = False End Sub
Private Sub Btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Save.Click Dim sqlSave As String = "" Dim sqlUpdate As String = "" If Trim(Txt_detail.Text) = "" Then MessageBox.Show("กรณากรอกชอระดบชน", "กรอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_detail.Focus() Exit Sub End If If idclick = 0 Then idgen = Findid() sqlSave = "insert into level_r(lvr_code,lvr_desc) values(" & idgen & ",'" & Trim(Txt_detail.Text) & "') " cmd = New MySqlCommand(sqlSave, conn) cmd.ExecuteNonQuery() temp_showrecord = idgen MessageBox.Show("ท าการเพมขอมลเรยบรอยแลว", "ผลการเพมขอมล", MessageBoxButtons.OK, MessageBoxIcon.Information) Else sqlUpdate = "update level_r set lvr_desc = '" & Trim(Txt_detail.Text) & "' where lvr_code = " & idclick & " " cmd = New MySqlCommand(sqlUpdate, conn) cmd.ExecuteNonQuery() temp_showrecord = idclick
MessageBox.Show("ท าการแกไขเรยบรอยแลว", "ผลการแกไขขอมล", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Btn_Add.Enabled = True Btn_Edit.Enabled = True showrecord() End Sub
Private Sub Txt_Search_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_Search.TextChanged showrecord() End Sub 2. ก าหนดขอมลการลา
Btn_Add Btn_Edit
Txt_detail
Btn_Save
Label2
Dgv_Output
Txt_Search Label1
Public Class Frm_Type_R Dim temp_showrecord, idgen, idclick As Integer Dim reccnt As Integer Dim cmd As MySqlCommand = Nothing Private Sub Frm_Type_R_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conn = New MySqlConnection(connStr) If conn.State = ConnectionState.Closed Then conn.Open() End If idgen = 0 idclick = 0 showrecord() End Sub Private Sub Btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Save.Click Dim sqlSave As String = "" Dim sqlUpdate As String = "" If Trim(Txt_detail.Text) = "" Then MessageBox.Show("กรณากรอกชอประเภทการลา", "กรอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_detail.Focus() Exit Sub End If If idclick = 0 Then idgen = Findid() sqlSave = "insert into type_r(tyr_code,tyr_desc) values(" & idgen & ",'" & Trim(Txt_detail.Text) & "') " cmd = New MySqlCommand(sqlSave, conn) cmd.ExecuteNonQuery() temp_showrecord = idgen MessageBox.Show("ท าการเพมขอมลเรยบรอยแลว", "ผลการเพมขอมล", MessageBoxButtons.OK, MessageBoxIcon.Information) Else sqlUpdate = "update type_r set tyr_desc = '" & Trim(Txt_detail.Text) & "' where tyr_code = " & idclick & " " cmd = New MySqlCommand(sqlUpdate, conn) cmd.ExecuteNonQuery() temp_showrecord = idclick MessageBox.Show("ท าการแกไขเรยบรอยแลว", "ผลการแกไขขอมล", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Btn_Add.Enabled = True Btn_Edit.Enabled = True showrecord() End Sub
Function Findid() As Integer Try Dim da1 As MySqlDataAdapter = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataAdapter Dim ds1 As New DataSet ' ประกาศตวแปรส าหรบจดเกบ DataSet Dim dt1 As DataTable = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataTable Dim sqlSearch As String sqlSearch = "select max(tyr_code)+1 as mxvalue from type_r " da1 = New MySqlDataAdapter(sqlSearch, conn) da1.Fill(ds1, "sess") dt1 = ds1.Tables("sess") Return dt1.Rows(0).Item("mxvalue") Catch Return 1 End Try End Function Private Sub showrecord() Dgv_Output.Columns.Clear() Dgv_Output.DataSource = Nothing Dim da As MySqlDataAdapter = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataAdapter Dim ds As New DataSet ' ประกาศตวแปรส าหรบจดเกบ DataSet Dim dt As DataTable = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataTable Dim sqlselect As String sqlselect = " select tyr_desc,tyr_code from type_r where tyr_desc like '%" & Trim(Txt_Search.Text) & "%' order by 1 " ds = New DataSet da = New MySqlDataAdapter(sqlselect, conn) da.Fill(ds, "dataset1") dt = ds.Tables("dataset1") Dgv_Output.DataSource = dt Dgv_Output.Columns(0).HeaderText = "ประเภทการลา" Dgv_Output.Columns(0).Width = 390 Dgv_Output.Columns(1).Visible = False selected() End Sub Private Sub selected() Dim RowCount, i, Vtemp, Vbefore As Integer RowCount = Dgv_Output.Rows.Count For i = 0 To RowCount - 1 Step +1 Vbefore = Dgv_Output.Rows(i).Cells(1).Value If Vbefore = temp_showrecord Then Vtemp = i i = RowCount - 1 Dgv_Output.Rows(Vtemp).Cells(0).Selected = True idclick = Dgv_Output.Rows(Vtemp).Cells(1).Value Txt_detail.Text = Dgv_Output.Rows(Vtemp).Cells(0).Value.ToString() End If Next End Sub
Private Sub Dgv_Output_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Dgv_Output.SelectionChanged reccnt = Dgv_Output.CurrentRow.Index idclick = Dgv_Output.Rows(reccnt).Cells(1).Value Txt_detail.Text = Dgv_Output.Rows(reccnt).Cells(0).Value.ToString() Txt_detail.Enabled = False Btn_Add.Enabled = True Btn_Edit.Enabled = True End Sub 'Private Sub Dgv_Output_ColumnAdded(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewColumnEventArgs) Handles Dgv_Output.ColumnAdded ' Dgv_Output.Columns.Item(e.Column.Index).SortMode = DataGridViewColumnSortMode.NotSortable 'End Sub Private Sub Txt_detail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txt_detail.KeyPress If Asc(e.KeyChar) = 13 Then If Trim(Txt_detail.Text) = "" Then Txt_detail.Focus() Else Btn_Save.Focus() End If End If End Sub Private Sub Btn_Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Add.Click Txt_detail.Text = "" idclick = 0 Txt_detail.Enabled = True Btn_Add.Enabled = False Btn_Edit.Enabled = False Txt_detail.Focus() End Sub Private Sub Btn_Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Edit.Click Txt_detail.Enabled = True Btn_Add.Enabled = False Btn_Edit.Enabled = False End Sub Private Sub Txt_Search_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_Search.TextChanged showrecord() End Sub End Class
3. ก าหนดขอมลนกเรยน
การพมพโคด
Public Class Frm_Add_Edit_Master Dim cmd As MySqlCommand = Nothing Dim level_code As Integer Private Sub Frm_Add_Edit_Master_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conn = New MySqlConnection(connStr) If conn.State = ConnectionState.Closed Then conn.Open() End If
Label1
Txt_Search
Btn_Add Btn_Edit
Dgv_Output
Label1-8
Text
Txt_Stdcode
Txt_Prename
Txt_Fname
Txt_Lname Txt_Level
Btn_Level
Txt_Nickname
Btn_Save Btn_Cancel
If save_flag = "EDIT" Then Txt_Stdcode.ReadOnly = True LoadEdit(gb_std_code) End If End Sub Private Sub LoadEdit(ByVal stdcode As String) Dim da As MySqlDataAdapter = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataAdapter Dim ds As New DataSet ' ประกาศตวแปรส าหรบจดเกบ DataSet Dim dt As DataTable = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataTable Dim sqlselect As String sqlselect = " select str_pre_name,str_fname,str_lname,str_nickname,str_level,lvr_desc from student_r,level_r where str_level=lvr_code and str_code = '" & stdcode & "' " ds = New DataSet da = New MySqlDataAdapter(sqlselect, conn) da.Fill(ds, "dataset1") dt = ds.Tables("dataset1") If dt.Rows.Count > 0 Then Txt_Stdcode.Text = stdcode Txt_Prename.Text = dt.Rows(0).Item("str_pre_name").ToString Txt_Fname.Text = dt.Rows(0).Item("str_fname").ToString Txt_Lname.Text = dt.Rows(0).Item("str_lname").ToString Txt_Nickname.Text = dt.Rows(0).Item("str_nickname").ToString Txt_Level.Text = dt.Rows(0).Item("lvr_desc").ToString level_code = dt.Rows(0).Item("str_level").ToString End If End Sub Private Sub Btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Save.Click If Trim(Txt_Stdcode.Text) = "" Then MessageBox.Show("กรณากรอกรหสประจ าตวนกเรยน", "กรอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_Stdcode.Focus() Exit Sub ElseIf Trim(Txt_Prename.Text) = "" Then MessageBox.Show("กรณากรอกค าน าหนาชอ", "กรอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_Prename.Focus() Exit Sub ElseIf Trim(Txt_Fname.Text) = "" Then MessageBox.Show("กรณากรอกชอ", "กรอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_Fname.Focus() Exit Sub ElseIf Trim(Txt_Lname.Text) = "" Then MessageBox.Show("กรณากรอกนามสกล", "กรอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_Lname.Focus() Exit Sub ElseIf Trim(Txt_Nickname.Text) = "" Then MessageBox.Show("กรณากรอกชอเลนนกเรยน", "กรอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_Nickname.Focus() Exit Sub ElseIf Trim(Txt_Level.Text) = "" Then
MessageBox.Show("กรณาเลอกระดบชน", "กรอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_Level.Focus() Exit Sub End If Dim sqlText As String = "" If save_flag = "ADD" Then sqlText = "insert into student_r(str_code,str_pre_name,str_fname,str_lname,str_nickname,str_level) values('" & Trim(Txt_Stdcode.Text) & "','" & Trim(Txt_Prename.Text) & "','" & Trim(Txt_Fname.Text) & "','" & Trim(Txt_Lname.Text) & "','" & Trim(Txt_Nickname.Text) & "'," & level_code & ") " cmd = New MySqlCommand(sqlText, conn) cmd.ExecuteNonQuery() MessageBox.Show("ท าการเพมขอมลเรยบรอยแลว", "ผลการเพมขอมล", MessageBoxButtons.OK, MessageBoxIcon.Information) Else sqlText = "update student_r set str_pre_name = '" & Trim(Txt_Prename.Text) & "',str_fname = '" & Trim(Txt_Fname.Text) & "', str_lname = '" & Trim(Txt_Lname.Text) & "',str_nickname = '" & Trim(Txt_Nickname.Text) & "',str_level=" & level_code & " where str_code= '" & Trim(Txt_Stdcode.Text) & "' " cmd = New MySqlCommand(sqlText, conn) cmd.ExecuteNonQuery() MessageBox.Show("ท าการแกไขเรยบรอยแลว", "ผลการแกไขขอมล", MessageBoxButtons.OK, MessageBoxIcon.Information) End If gb_std_code = Trim(Txt_Stdcode.Text) click_flag = True Me.Close() End Sub Private Sub Txt_Stdcode_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txt_Stdcode.KeyPress If Asc(e.KeyChar) = 13 Then If Trim(Txt_Stdcode.Text) = "" Then Txt_Stdcode.Focus() Else Txt_Prename.Focus() End If End If End Sub Private Sub Txt_Prename_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txt_Prename.KeyPress If Asc(e.KeyChar) = 13 Then If Trim(Txt_Prename.Text) = "" Then Txt_Prename.Focus() Else Txt_Fname.Focus() End If End If End Sub Private Sub Txt_Fname_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txt_Fname.KeyPress If Asc(e.KeyChar) = 13 Then If Trim(Txt_Fname.Text) = "" Then Txt_Fname.Focus()
Else Txt_Lname.Focus() End If End If End Sub Private Sub Txt_Lname_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txt_Lname.KeyPress If Asc(e.KeyChar) = 13 Then If Trim(Txt_Lname.Text) = "" Then Txt_Lname.Focus() Else Txt_Nickname.Focus() End If End If End Sub Private Sub Txt_Nickname_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txt_Nickname.KeyPress If Asc(e.KeyChar) = 13 Then If Trim(Txt_Nickname.Text) = "" Then Txt_Nickname.Focus() Else Btn_Level.Focus() End If End If End Sub Private Sub Btn_Level_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Level.Click click_flag = False Dim ndialog As New Frm_Load_Level ndialog.ShowDialog() If click_flag = True Then Txt_Level.Text = gb_level_name level_code = gb_level_code End If End Sub End Class
การแกไขขอมลนกเรยนทเลอก การพมพโคด Public Class Frm_Master_R Dim std_code As String Private Sub Frm_Master_R_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conn = New MySqlConnection(connStr) If conn.State = ConnectionState.Closed Then conn.Open() End If showrecord() End Sub
Label1
Txt_Search
Btn_Add
Btn_Edit
Dgv_Output
สามารถแกไข ขอมลตามชองขอความและบนทกขอมล
Private Sub showrecord() Dgv_Output.Columns.Clear() Dgv_Output.DataSource = Nothing Dim da As MySqlDataAdapter = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataAdapter Dim ds As New DataSet ' ประกาศตวแปรส าหรบจดเกบ DataSet Dim dt As DataTable = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataTable Dim sqlselect As String sqlselect = " select str_code,str_pre_name,str_fname,str_lname,str_nickname,str_level,lvr_desc from student_r,level_r where str_level=lvr_code and concat(str_code,str_fname,str_lname,str_nickname,lvr_desc) like '%" & Trim(Txt_Search.Text) & "%' order by 3 " ds = New DataSet da = New MySqlDataAdapter(sqlselect, conn) da.Fill(ds, "dataset1") dt = ds.Tables("dataset1") Dgv_Output.DataSource = dt Dgv_Output.Columns(0).HeaderText = "รหสนกเรยน" Dgv_Output.Columns(0).Width = 120 Dgv_Output.Columns(1).HeaderText = "ค าน าหนาชอ" Dgv_Output.Columns(1).Width = 110 Dgv_Output.Columns(2).HeaderText = "ชอ" Dgv_Output.Columns(2).Width = 140 Dgv_Output.Columns(3).HeaderText = "นามสกล" Dgv_Output.Columns(3).Width = 140 Dgv_Output.Columns(4).HeaderText = "ชอเลน" Dgv_Output.Columns(4).Width = 100 Dgv_Output.Columns(5).Visible = False Dgv_Output.Columns(6).HeaderText = "ระดบชน" Dgv_Output.Columns(6).Width = 150 selected() End Sub Private Sub selected() Dim RowCount, i, Vtemp, Vbefore As Integer RowCount = Dgv_Output.Rows.Count For i = 0 To RowCount - 1 Step +1 Vbefore = Dgv_Output.Rows(i).Cells(0).Value If Vbefore = gb_std_code Then Vtemp = i i = RowCount - 1 Dgv_Output.Rows(Vtemp).Cells(0).Selected = True End If Next End Sub Private Sub Dgv_Output_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Dgv_Output.SelectionChanged Try Dim reccnt As Integer reccnt = Dgv_Output.CurrentRow.Index std_code = Dgv_Output.Rows(reccnt).Cells(0).Value Btn_Add.Enabled = True Btn_Edit.Enabled = True Catch ex As Exception End Try
End Sub 'Private Sub Dgv_Output_ColumnAdded(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewColumnEventArgs) Handles Dgv_Output.ColumnAdded ' Dgv_Output.Columns.Item(e.Column.Index).SortMode = DataGridViewColumnSortMode.NotSortable 'End Sub
การพมพโคด (ดบเบลคลก ทปมขอมลนกเรยน) Private Sub Btn_Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Add.Click click_flag = False save_flag = "ADD" Dim ndialog As New Frm_Add_Edit_Master ndialog.ShowDialog() If click_flag = True Then Txt_Search.Text = "" showrecord() End If End Sub
การพมพโคด (ดบเบลคลก ทปมแกไขขอมลนกเรยนทเลอก) Private Sub Btn_Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Edit.Click save_flag = "EDIT" gb_std_code = std_code Dim ndialog As New Frm_Add_Edit_Master ndialog.ShowDialog() If click_flag = True Then Txt_Search.Text = "" showrecord() End If End Sub Private Sub Txt_Search_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_Search.TextChanged showrecord() End Sub Private Sub Dgv_Output_CellMouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles Dgv_Output.CellMouseDoubleClick Dim reccnt As Integer reccnt = Dgv_Output.CurrentRow.Index std_code = Dgv_Output.Rows(reccnt).Cells(0).Value save_flag = "EDIT" gb_std_code = std_code Dim ndialog As New Frm_Add_Edit_Master
Dgv_Output
ndialog.ShowDialog() If click_flag = True Then Txt_Search.Text = "" showrecord() End If End Sub End Class
บนทกขอมลการลาของนกเรยน
Public Class Frm_Schedule_T Dim tmp_fdate, tmp_tdate, tmp_stdcode, tmp_remark, tmp_typename, student_code, level_code As String Dim tmp_typecode As Integer Dim cmd As MySqlCommand Private Sub Btn_Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Add.Click click_flag = False gb_fdate = Mid(fdate.Value.Date, 1, 10) gb_tdate = Mid(tdate.Value.Date, 1, 10) save_flag = "ADD" Dim ndialog As New Frm_Add_Edit_Schedule_T ndialog.ShowDialog() If click_flag = True Then showrecord() End If End Sub
Txt_Search
Label2 Label1 tdate
fdate
Label3
Btn_Add
Btn_Edit
Dgv_Output
Private Sub showrecord() Dgv_Output.Columns.Clear() Dgv_Output.DataSource = Nothing Dim da As MySqlDataAdapter = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataAdapter Dim ds As New DataSet ' ประกาศตวแปรส าหรบจดเกบ DataSet Dim dt As DataTable = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataTable Dim sqlselect As String sqlselect = " select sdt_fdate,sdt_tdate ,sdt_std_code,str_pre_name, str_fname,str_lname,str_nickname,lvr_desc,tyr_desc,sdt_remark,sdt_tcode from schedule_t,student_r,level_r,type_r" sqlselect &= " where sdt_std_code = str_code and str_level=lvr_code and sdt_tcode = tyr_code and concat(str_code,str_fname,str_lname,str_nickname,lvr_desc) like '%" & Trim(Txt_Search.Text) & "%' " sqlselect &= " and ( sdt_fdate between '" & fdate.Value.Date.ToString("yyyy-MM-dd") & "' and '" & tdate.Value.Date.ToString("yyyy-MM-dd") & "' or sdt_tdate between '" & fdate.Value.Date.ToString("yyyy-MM-dd") & "' and '" & tdate.Value.Date.ToString("yyyy-MM-dd") & "')" sqlselect &= " order by sdt_fdate,str_fname " ds = New DataSet da = New MySqlDataAdapter(sqlselect, conn) da.Fill(ds, "dataset1") dt = ds.Tables("dataset1") Dgv_Output.DataSource = dt Dgv_Output.Columns(0).HeaderText = "วนทเรมลา" Dgv_Output.Columns(0).Width = 120 Dgv_Output.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter Dgv_Output.Columns(1).HeaderText = "วนทสนสดลา" Dgv_Output.Columns(1).Width = 110 Dgv_Output.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter Dgv_Output.Columns(2).HeaderText = "รหสนกเรยน" Dgv_Output.Columns(2).Width = 110 Dgv_Output.Columns(3).HeaderText = "ค าน าหนาชอ" Dgv_Output.Columns(3).Width = 100 Dgv_Output.Columns(4).HeaderText = "ชอ" Dgv_Output.Columns(4).Width = 140 Dgv_Output.Columns(5).HeaderText = "นามสกล" Dgv_Output.Columns(5).Width = 140 Dgv_Output.Columns(6).HeaderText = "ชอเลน" Dgv_Output.Columns(6).Width = 100 Dgv_Output.Columns(7).HeaderText = "ระดบชน" Dgv_Output.Columns(7).Width = 150 Dgv_Output.Columns(8).HeaderText = "ประเภทการลา" Dgv_Output.Columns(8).Width = 150 Dgv_Output.Columns(9).HeaderText = "หมายเหต" Dgv_Output.Columns(9).Width = 150 Dgv_Output.Columns(10).Visible = False Dim col11 As DataGridViewLinkColumn = New DataGridViewLinkColumn() With col11 .HeaderText = "แกไข" .Name = "ED" .Text = "แกไข" .UseColumnTextForLinkValue = True .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
.CellTemplate.Style.BackColor = Color.Honeydew End With Dgv_Output.Columns.Add(col11) Dim col12 As DataGridViewLinkColumn = New DataGridViewLinkColumn() With col12 .HeaderText = "ลบทง" .Name = "DL" .Text = "ลบทง" .UseColumnTextForLinkValue = True .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells .CellTemplate.Style.BackColor = Color.Honeydew End With Dgv_Output.Columns.Add(col12) End Sub Private Sub Frm_Schedule_T_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conn = New MySqlConnection(connStr) If conn.State = ConnectionState.Closed Then conn.Open() End If showrecord() End Sub Private Sub fdate_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tdate.ValueChanged, fdate.ValueChanged If tdate.Value.Date < fdate.Value.Date Then tdate.Text = fdate.Text End If showrecord() End Sub Private Sub Btn_Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Edit.Click click_flag = False gb_fdate = tmp_fdate gb_tdate = tmp_tdate gb_std_code = tmp_stdcode gb_type_code = tmp_typecode gb_type_name = tmp_typename gb_remark = tmp_remark save_flag = "EDIT" Dim ndialog As New Frm_Add_Edit_Schedule_T ndialog.ShowDialog() If click_flag = True Then showrecord() End If End Sub Private Sub Dgv_Output_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Dgv_Output.SelectionChanged Try Dim reccnt As Integer reccnt = Dgv_Output.CurrentRow.Index tmp_fdate = Dgv_Output.Rows(reccnt).Cells(0).Value tmp_tdate = Dgv_Output.Rows(reccnt).Cells(1).Value tmp_stdcode = Dgv_Output.Rows(reccnt).Cells(2).Value tmp_remark = Dgv_Output.Rows(reccnt).Cells(9).Value tmp_typecode = Dgv_Output.Rows(reccnt).Cells(10).Value
tmp_typename = Dgv_Output.Rows(reccnt).Cells(8).Value Btn_Add.Enabled = True Btn_Edit.Enabled = True Catch ex As Exception End Try End Sub Private Sub Dgv_Output_CellMouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles Dgv_Output.CellMouseDoubleClick Dim reccnt As Integer reccnt = Dgv_Output.CurrentRow.Index gb_fdate = Dgv_Output.Rows(reccnt).Cells(0).Value gb_tdate = Dgv_Output.Rows(reccnt).Cells(1).Value gb_std_code = Dgv_Output.Rows(reccnt).Cells(2).Value gb_type_code = Dgv_Output.Rows(reccnt).Cells(10).Value gb_type_name = Dgv_Output.Rows(reccnt).Cells(8).Value gb_remark = Dgv_Output.Rows(reccnt).Cells(9).Value save_flag = "EDIT" Dim ndialog As New Frm_Add_Edit_Schedule_T ndialog.ShowDialog() If click_flag = True Then showrecord() End If End Sub Private Sub Dgv_Output_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Dgv_Output.CellClick If Dgv_Output.Columns(e.ColumnIndex).Name = "ED" Then Dim reccnt As Integer reccnt = Dgv_Output.CurrentRow.Index gb_fdate = Dgv_Output.Rows(reccnt).Cells(0).Value gb_tdate = Dgv_Output.Rows(reccnt).Cells(1).Value gb_std_code = Dgv_Output.Rows(reccnt).Cells(2).Value gb_type_code = Dgv_Output.Rows(reccnt).Cells(10).Value gb_type_name = Dgv_Output.Rows(reccnt).Cells(8).Value gb_remark = Dgv_Output.Rows(reccnt).Cells(9).Value save_flag = "EDIT" Dim ndialog As New Frm_Add_Edit_Schedule_T ndialog.ShowDialog() If click_flag = True Then showrecord() End If End If If Dgv_Output.Columns(e.ColumnIndex).Name = "DL" Then Dim reccnt As Integer reccnt = Dgv_Output.CurrentRow.Index tmp_fdate = Dgv_Output.Rows(reccnt).Cells(0).Value tmp_tdate = Dgv_Output.Rows(reccnt).Cells(1).Value tmp_stdcode = Dgv_Output.Rows(reccnt).Cells(2).Value tmp_remark = Dgv_Output.Rows(reccnt).Cells(9).Value tmp_typecode = Dgv_Output.Rows(reccnt).Cells(10).Value tmp_typename = Dgv_Output.Rows(reccnt).Cells(8).Value Dim dsrt As DialogResult = MessageBox.Show("ทานตองการลบขอมลรายการนใชหรอไม", "ยนยนการลบขอมล", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If dsrt = Windows.Forms.DialogResult.Yes Then Dim sqlText As String = "" sqlText = "delete from schedule_t where sdt_std_code ='" & tmp_stdcode & "' and sdt_fdate = '" & tmp_fdate & "' and sdt_tdate = '" & tmp_tdate & "' and sdt_tcode = " & tmp_typecode & " " cmd = New MySqlCommand(sqlText, conn) cmd.ExecuteNonQuery() MessageBox.Show("ลบขอมลเรยบรอย", "ผลการลบขอมล", MessageBoxButtons.OK, MessageBoxIcon.Information) showrecord() End If End If End Sub End Class
Rdb_All Rdb_Type Btn_Type Rdb_Student Txt_Student
Txt_Type
Btn_OK
Label2 Label3 tdate
fdate
Btn_Student
Public Class Frm_Query_T Dim type_code As Integer Dim student_code As String Private Sub Btn_Type_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Type.Click click_flag = False Dim ndialog As New Frm_Load_Type ndialog.ShowDialog() If click_flag = True Then Txt_Type.Text = gb_type_name type_code = gb_type_code End If End Sub Private Sub Frm_Query_T_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conn = New MySqlConnection(connStr) If conn.State = ConnectionState.Closed Then conn.Open() End If End Sub Private Sub Rdb_Type_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rdb_Type.CheckedChanged If Rdb_Type.Checked = True Then Btn_Type.Enabled = True Else Btn_Type.Enabled = False Txt_Type.Text = "" type_code = 0 End If End Sub Private Sub Rdb_Student_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rdb_Student.CheckedChanged If Rdb_Student.Checked = True Then Btn_Student.Enabled = True Else Btn_Student.Enabled = False Txt_Student.Text = "" student_code = "" End If End Sub Private Sub fdate_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tdate.ValueChanged, fdate.ValueChanged If tdate.Value.Date < fdate.Value.Date Then tdate.Text = fdate.Text End If End Sub Private Sub Btn_OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_OK.Click If Rdb_Type.Checked = True Then If Txt_Type.Text = "" Then MessageBox.Show("กรณาเลอกระดบชนเรยนกอน", "เลอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_Type.Focus()
Exit Sub End If End If If Rdb_Student.Checked = True Then If Txt_Student.Text = "" Then MessageBox.Show("กรณาเลอกนกเรยนกอน", "เลอกขอมลยงไมครบ", MessageBoxButtons.OK, MessageBoxIcon.Error) Txt_Student.Focus() Exit Sub End If End If showrecord() End Sub Private Sub Btn_Student_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Student.Click click_flag = False Dim ndialog As New Frm_Load_Student ndialog.ShowDialog() If click_flag = True Then student_code = gb_std_code Txt_Student.Text = gb_std_name End If End Sub Private Sub showrecord() Dgv_Output.Columns.Clear() Dgv_Output.DataSource = Nothing Dim da As MySqlDataAdapter = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataAdapter Dim ds As New DataSet ' ประกาศตวแปรส าหรบจดเกบ DataSet Dim dt As DataTable = Nothing ' ประกาศตวแปรส าหรบจดเกบ DataTable Dim sqlselect As String sqlselect = " select sdt_fdate,sdt_tdate,sdt_std_code,str_pre_name,str_fname,str_lname,str_nickname,lvr_desc,tyr_desc,sdt_remark,sdt_tcode from schedule_t,student_r,level_r,type_r" sqlselect &= " where sdt_std_code = str_code and str_level=lvr_code and sdt_tcode = tyr_code and ( sdt_fdate between '" & fdate.Value.Date.ToString("yyyy-MM-dd") & "' and '" & tdate.Value.Date.ToString("yyyy-MM-dd") & "' or sdt_tdate between '" & fdate.Value.Date.ToString("yyyy-MM-dd") & "' and '" & tdate.Value.Date.ToString("yyyy-MM-dd") & "') " If Rdb_Type.Checked = True Then sqlselect &= " and sdt_tcode = '" & type_code & "' " End If If Rdb_Student.Checked = True Then sqlselect &= " and sdt_std_code = '" & student_code & "' " End If sqlselect &= " order by sdt_fdate,str_fname " ds = New DataSet da = New MySqlDataAdapter(sqlselect, conn) da.Fill(ds, "dataset1") dt = ds.Tables("dataset1")
Dgv_Output.DataSource = dt Dgv_Output.Columns(0).HeaderText = "วนทเรมลา" Dgv_Output.Columns(0).Width = 120 Dgv_Output.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter Dgv_Output.Columns(1).HeaderText = "วนทสนสดลา" Dgv_Output.Columns(1).Width = 110 Dgv_Output.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter Dgv_Output.Columns(2).HeaderText = "รหสนกเรยน" Dgv_Output.Columns(2).Width = 110 Dgv_Output.Columns(3).HeaderText = "ค าน าหนาชอ" Dgv_Output.Columns(3).Width = 100 Dgv_Output.Columns(4).HeaderText = "ชอ" Dgv_Output.Columns(4).Width = 140 Dgv_Output.Columns(5).HeaderText = "นามสกล" Dgv_Output.Columns(5).Width = 140 Dgv_Output.Columns(6).HeaderText = "ชอเลน" Dgv_Output.Columns(6).Width = 100 Dgv_Output.Columns(7).HeaderText = "ระดบชน" Dgv_Output.Columns(7).Width = 150 Dgv_Output.Columns(8).HeaderText = "ประเภทการลา" Dgv_Output.Columns(8).Width = 150 Dgv_Output.Columns(9).HeaderText = "หมายเหต" Dgv_Output.Columns(9).Width = 150 Dgv_Output.Columns(10).Visible = False End Sub End Class