42
โครงงานคอมพิวเตอร์ ประเภทโครงงาน โครงงานประยุกต์ใช้งาน ชื่อโครงงาน ระบบบันทึกการลาของนักเรียน โรงเรียนเกาะสมุย ชื่อผู้จัดทาโครงงาน 1) นายพงศ์สุระ วังโส เลขที่ 1 2) นายอนันดา ขวยเจริญ เลขที่ 3 3) นายเกียรติพงษ์ ร่วมรัก เลขที่ 4 4) นายธนวุฒิ ศิวภักดิ์วัจนเลิศ เลขที่ 6 5) นายธวภณ ธรรมบารุง เลขที่ 8 6) นางสาวพิจิตรา ธรรมมาธิกรกุล เลขที่ 15 7) นางสาวธิติมา สัจถาพร เลขที่ 31 คุณครูกรวรรณ ยืนนาน ครูที่ปรึกษาโครงงาน โรงเรียน เกาะสมุย อาเภอเกาะสมุย จังหวัดสุราษฎร์ธานี รายงานโครงงานคอมพิวเตอร์ โครงงานนี้เป็นส่วนหนึ่งของการศึกษา วิชา โครงงานคอมพิวเตอร์ ( ง32102 ) ภาคเรียนที่ 2 ปีการศึกษา 2557

โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

โครงงานคอมพวเตอร ประเภทโครงงาน โครงงานประยกตใชงาน

ชอโครงงาน ระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมย

ชอผจดท าโครงงาน

1) นายพงศสระ วงโส เลขท 1 2) นายอนนดา ขวยเจรญ เลขท 3 3) นายเกยรตพงษ รวมรก เลขท 4 4) นายธนวฒ ศวภกดวจนเลศ เลขท 6 5) นายธวภณ ธรรมบ ารง เลขท 8 6) นางสาวพจตรา ธรรมมาธกรกล เลขท 15 7) นางสาวธตมา สจถาพร เลขท 31

คณครกรวรรณ ยนนาน ครทปรกษาโครงงาน

โรงเรยน เกาะสมย อ าเภอเกาะสมย จงหวดสราษฎรธาน รายงานโครงงานคอมพวเตอร โครงงานนเปนสวนหนงของการศกษา

วชา โครงงานคอมพวเตอร ( ง32102 ) ภาคเรยนท 2 ปการศกษา 2557

Page 2: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

บทคดยอ

โครงงานการพฒนาระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมย ซอฟตแวรคอมพวเตอร จดท าขนโดยมวตถประสงคเพอน าเอาความรความเขาใจไปใชในการเรยน ทงนไดทางการศกษาคนควาเนอหาความรทสนใจเกยวกบเรอง ซอฟตแวรคอมพวเตอร หมายถง ชดค าสงทสงงานคอมพวเตอรเปนล าดบขนตอน ของการท างาน ชดค าสงเหลานไดจดเตรยมไวในหนวยความจ าของคอมพวเตอร คอมพวเตอรอานชดค าสงแลวท างานตาม ซอฟตแวรจงเปนสงทมนษยจดท าขน และคอมพวเตอรจะท างานตามคณลกษณะของซอฟตแวรทวางไวแลวเทานน

Page 3: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

บทท 1

บทน า

ทมา และ ความส าคญ

ปจจบนความกาวหนาทางเทคโนโลยสารสนเทศกอใหเกดการเปลยนแปลงครงยงใหญตอทกวงการทวโลก รวมทงวงการศกษาไทยดวย และผลพวงทตดตามมาในแงเทคนควธการเกยวกบกระบวนการเรยนรคอแนวโนมในการเรยนรแบบโตตอบสองทาง ( Interactive) ทกาลงกาวเขามาแทนทกระบวนการเรยนรแบบเดม ทผรบไดแต “รบเอา” โดยไมอาจ “เลอก” แตอยางใด จากแนวคดดงกลาว ประเทศตาง ๆ ทวโลกตางหนมาใหความสนใจในการพฒนาเทคโนโลยสารสนเทศ เพอใชใหเกดประโยชนสงสดแกผเรยนในทกระดบ มการใชเครองคอมพวเตอรและสออ เลกทรอนกสมากขน ผเรยนรนใหมจะเปนผเรยนทมความคดรกการเรยนร มหลกในการศกษาคนควาอยางเปนระบบมความคดรเรมสรางสรรคสงใหม ๆ มความรทกษะทจาเปนในการแสวงหา

ความรดวยตนเองมากขน จงเปนทยอมรบวา เทคโนโลยสารสนเทศ ไดกลายเปนปจจยทส าคญในการพฒนาประเทศการจดการศกษาจงตองมการปรบตวในการนาเทคโนโลยสารสนเทศมาใชประโยชนในทก ๆ ดาน โดยเฉพาะอยางยง ดานการจดการเรยนการสอนนน ไดมขอก าหนดไวในพระราชบญญตการศกษาแหงชาต พ.ศ. 2542 วา รฐตองสงเสรมและสนบสนนใหมการผลตสอเทคโนโลยเพอการศกษา รวมทงใหมการพฒนาบคลากรดานการผลตและผใชใหมความรความสามารถ มทกษะตลอดจนผเรยนใหมสทธทจะไดรบการพฒนาเพอใหมความรและทกษะเพยงพอทจะใชเทคโนโลยเพอการศกษา ในการแสวงหาความรดวยตนเองไดอยางตอเนองตลอดชวต วตถประสงค 1. สรางสอการเรยนรดวยโปรแกรมคอมพวเตอร 2. ศกษาโปรแกรมคอมพวเตอรทใชสรางสอการเรยนร 3. ศกษาการจ าท าโครงงานคอมพวเตอร 4. เพอศกษาคนควาเรองทสนใจเกยวกบเรองซอฟตแวรคอมพวเตอร 5. เพอศกษาใหเขาใจกบซอฟแวรคอมพวเตอร

ขอบเขตของโครงงาน จดท าโครงงานระบบบนทกการลาของนกเรยน โรงเรยนเกาะสมย

ผลทคาดวาจะไดรบ 1) ประยกตใชโปรแกรมไดหลากหลาย 2) เพมทกษะในการใชโปรแกรมใหกบตวเอง 3) สามารถน าความรทไดรบจากการศกษา 4) ไดเรยนรและสามารถพฒนาเวบไซตทสามารถใชในการศกษาคนควาไดจรง 5) ไดน าเอาเทคโนโลยสารเทศมาใชใหเกดประโยชน

Page 4: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

บทท 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 ค าสงใหเปนภาษาเครอง แลวน าค าสงทเปนภาษาเครองนนไปท าการประมวลผล และแสดงผลลพธทนทหากไมพบขอผดพลาด หลงจากนนจะแปลค าสงถดไปเรอยๆจนกวาจะจบโปรแกรม ในระหวางการแปลค าสง ถาหากพบขอผดพลาดทางไวยากรณของภาษา โปรแกรมอนเทอรพรเตอรกจะหยดการท างานพรอมแจงขอผดพลาดใหท าการ

Page 5: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

แกไขซงท าไดงายและรวดเรว แตออบเจคโคดทไดจากการแปลค าสงโดยใชอนเทอพรเตอรนนไมสามารถเกบไวใชใหมได จะตองแปลโปรแกรมใหมทกครงทตองการใชงาน ท าใหโปรแกรม ท างานไดคอนขางชา

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 นน เปนโปรแกรมทท างานเกยวกบทางดานการประมวลผลค า สามารถจดท าเอกสาร รายงาน จดหมาย หนงสอตาง ๆ ได ท าใหไดงานทมประสทธภาพ สวยงาม เนองจากสามารถจดรปแบบงานตามตองการไดรวมทงยงแกไขงานทท าไดดวย อกทงยงชวยประหยดเวลาในการแกไขงาน และสามารถคนหาขอความตาง ๆ ไดอยางสะดวก

Page 6: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

2. โปรแกรมทางดาน Spreadsheet โปรแกรมทางดาน Spreadsheet เปนโปรแกรมทมลกษณะเปนกระดาษท าการขนาดใหญ หรอ เรยกวา Worksheetประกอบดวยสวนทเปน Row หรอแถวตามแนวนอนและสวนทเปน Column หรอแถวตามแนวตง ซงใชในดานการค านวณเปนสวนมาก นอกจากนนยงมการน าเสนอขอมลออกมาในรปของกราฟโดยสรางเปนกราฟ 2 มตและ 3 มตไดอกดวย โปรแกรม Spreadsheet เหมาะกบการท างานในดานการบญช การเงน การวเคราะหขอมล หรองานการคดคะแนนและเกรดของนกศกษา เปนตน 3. โปรแกรมทางดาน Database โปรแกรมประเภทนเปนโปรแกรมทท างานทางดานการจดการฐานขอมล ชวยจดเกบขอมล แกไข คนหา เพมเตม รวมทงการจดเรยงขอมล ท าใหผใชสะดวกรวดเรวสามารถท างานไดเปนระบบ โปรแกรม Database เหมาะกบการท างานทมขอมลมาก ๆ เชน การเกบสตอกสนคาคงคลง การเกบประวตพนกงาน การเกบรายชอนกศกษาในโรงเรยน การเกบรายชอหนงสอในหองสมด เปนตน

4. โปรแกรมทางดาน Graphic โปรแกรม Graphic สวนมากแลวจะเกยวกบทางดานงานออกแบบ เขยนแบบวาดภาพ จดท าสงพมพและจะเปนทางดานการน าเสนองาน สามารถน าไปประยกตใชในงานโฆษณา ท า Slide Show หรอน าไปใชกบระบบ Multimedia ได

5. โปรแกรมเกม ( Game) เปนโปรแกรมทแพรหลายเปนทรจกกนทวไป ไมวาจะเปนเดกหรอผใหญ และปจจบนนมโปรแกรมเกมตาง ๆ มากมาย ทงแบบธรรมดาและแบบ 3 มต ซงทจรงแลวโปรแกรมเกมสวนใหญจะสรางขนมา เพอชวยผอนคลายความตงเครยดในการท างานแตละสวนใหญแลวจะพบวาเดกจะเลน เพอความสนกสนานเพลดเพลนมากกวา ผใหญควรควบคมเกมทเดก ๆเลนดวย เพราะบางเกมเปนลกษณะของการตอส เพอใหเกดชยชนะ 6. โปรแกรมทางดานการสรางสถานการณจ าลอง เปนโปรแกรมทใหผเลนไดทดลองสรางสถานการณจ าลองของงานทอาจจะเกดขนไดหรออาจจะเรยกวา เกมสทางธรกจ โดยใหผเลนไดรจกวางแผนในการท างาน คดถงผลก าไรขาดทนทอาจจะเกดขนได รจกจดสรรงบประมาณทมอยใหไดผลก าไรมากทสด 7. โปรแกรมทางดานการตดตอสอสาร เปนโปรแกรมทมกนยมใชตามส านกงานตางๆทงของรฐและเอกชนในการนดหมายประชม การท าจดหมายเวยนไปตามฝายตางๆ โดยการเกบขอมลไวในคอมพวเตอรแทนทจะพมพออกมาทางกระดาษ เพอแจงใหพนกงานทราบ ขอดของโปรแกรมชนดนคอ ท าใหประหยดกระดาษลงไปไดมาก

Page 7: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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 บาท เกบขอมลเปนจ านวนทศนยม เปนตน

Page 8: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

• ขอจ ากดในการรบขอมลอยางไรบาง เชน รบขอมลไดเฉพาะคาตวเลขทมากกวา 0 เปนต 3. วธการประมวลผล เปนขนตอนทส าคญในการแกปญหา ประกอบดวยขอก าหนดดงน • ก าหนดวธการ หรอเทคนคทใชแกปญหา ปญหาตางๆ จะมวธการปญหาแตกตางกนไปขนอยกบสภาพของปญหา และผแกปญหา และปญหาหนงๆสามารถแกปญหาไดดวยหลายๆ วธการ ดงนนใหเลอกวธการแกปญหาทเหมาะสมกบปญหานนๆ • ก าหนดขนตอนท างานใหชดเจน เพอแกปญหาตามล าดบการท างานของวธการทไดเลอกใช และประมวลผลใหไดผลลพธทตองการ 4. ก าหนดผลลพธ • ก าหนดรปแบบการแสดงผล เชน แสดงผลลพธเปนภาพกราฟฟกสทางจอภาพ หรอพมพขอมลออกทางเครองพมพ เปนตน • ตรวจสอบขอผดพลาดและความถกตองของผลลพธ เชน ตรวจสอบขอผดพลาดจากการค านวณ ตรวจสอบผลลพธวาถกตองตรงตามทตองการหรอไม 5. ก าหนดโครงสรางขอมลทใช ประกอบดวย • ภาษาทใชในการเขยนโปรแกรม ซงขนอยกบความถนด ประเภทของงานและคณสมบตเฉพาะของเครองคอมพวเตอร • วธการเกบขอมลและเรยกใชตวแปร เชนการประกาศตวแปรอาเรยใหสามารถเกบขอมลไดหลายตว หรอเกบขอมลเปนคลาส หรอตามโครงสรางขอมลแบบตางๆ เปนตน การออกแบบโปรแกรม (Program Design) ประกอบดวยวธการดงน คอ 1. การออกแบบโปรแกรมโดยใช อลกอรธม (Algorithm) เปนการอธบายถงล าดบขนตอนการท างานของการแกปญหาโดยใชประโยคขอความทชดเจนไมคลมเครอ สามารถบอกล าดบการท างานได ซงมประโยชนดงน • ท าใหเหนล าดบของการท างานและวธการท างานแตละขนตอนไดอยางละเอยด • ท าใหเหนภาพรวมของการท างานของขนตอนทงหมด • เปนการวางแผนการท างานไวลวงหนา ท าใหสามารถน าไปเขยนเปนโปรแกรมไดอยางถกตองและรวดเรว 2. การออกแบบโปรแกรมโดยใช รหสจ าลอง (Pseudo Code) เปนการออกแบบขนตอนการท างานของโปรแกรมโดยการใชขอความภาษาองกฤษทใกลเคยงกบภาษาคอมพวเตอร ซงมหลกการท างานและประโยชนเหมอนกบการใชอลกอรธม แตมขอด ดงนคอ • สามารถน ารหสจ าลองไปใชเขยนโปรแกรมไดงายกวาการใชอลกอรธม เพราะมความใกลเคยงกบค าสงคอมพวเตอร • ผออกแบบโปรแกรมตองมความรทางดานภาษาคอมพวเตอรบาง เพอใหสามารถน าไปประยกตใชและเขยนโปรแกรมเปนภาษาอนๆไดหลายภาษา 3. การออกแบบโปรแกรมโดยใช ผงงาน (Flowchart) คอ การใชสญลกษณรปภาพ หรอกลองขอความบรรยายรายละเอยดการท างาน และใชลกศรบอกทศทางล าดบ ของการท างาน ซงมขอดดงน คอ

Page 9: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

• สามารถอานและเขาใจการท างานไดงาย เพราะมองเหนภาพรวมขนตอนการท างานทงหมดไดชดเจน • สามารถออกแบบโครงสรางการท างานไดหลากหลายโดยใชลกศรแสดงทศทางการท างาน ท าใหแกปญหาทมหลายเลอกและซบซอนได

• ค าสงหรอค าบรรยายรายละเอยดในกลองขอความสามารถน าไปเขยนเปนค าสงของโปรแกรมได

การเขยนโปรแกรม (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 ได

Page 10: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

การจดท าเอกสารและคมอการใชงาน (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 เปนตนการพฒนาโปรแกรมใหดขนมประโยชนตอผใชงาน และผเขยนโปรแกรมตองอาศยคมอการใชงาน และเอกสารประกอบของโปรแกรม เพอเปนแนวทางในการแกไข และใหผอนๆสามารถพฒนาตอได

Page 11: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

บทท 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

Page 12: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

บทท 4

ผลการด าเนนงานโครงงาน

การจดท าโครงงานคอมพวเตอรการพฒนาโปรแกรมระบบบนทกการลาของนกเรยน เรอง ซอฟตแวรคอมพวเตอร น มวตถประสงคเพอพฒนาโปรแกรม Visual Basic 2010 เพอใหผจดท าโครงงานสามารถน ามาประยกตใชใหเขากบการเรยนรของตนเองมากยงขน ตลอดจนสามารถในการใชงานผสนใจทวไป ซงมผลการด าเนนงานโครงงาน ดงน 4.1 ผลการพฒนาโปรแกรมระบบบนทกการลาของนกเรยน

ขนตอนการด าเนนงานทเสนอในบทท 3 แลว แลวไดมอบโปรแกรมใหกบครทปรกษา ระดบชนมธยมศกษาปท 5/1 ปการศกษา 2557 โรงเรยนเกาะสมย และหวหนาฝายบรหารทวไป กลมงานกจการนกเรยนโรงเรยนเกาะสมย เผยแพรผลงานผานเครอขายอนเทอรเนตในหองเรยน www.krukea.com

Page 13: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

บทท 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 ไดน าการพฒนาทกษะการเขยนโปรแกรมไปใชในการพฒนาตนเองมากขน

Page 14: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

ภาคผนวก

Page 15: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

คมอการใชโปรแกรม

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

ดบเบลคลก

ในไดร ทเกบขอมล

Page 16: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

*

3. ก าหนดประเภทการลา

1. คลกก าหนดชนเรยน

2. คลกเพมรายการ

และบนทก

4. คลกเพมรายการ

และบนทก

Page 17: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

5. คลกก าหนดขอมลนกเรยน

6. กรอกขอมลและบนทก

8.คนหาขอมล นกเรยน

9. คนหาประเภทการ

“ลา” 10.เมอลงขอมลทกชองแลวคลกปมบนทกขอมล

Page 18: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

9. คนหาประเภทการ

“ลา”

คลกปม

บนทกขอมล

พบขอความท าการพมพ

ขอมลเรยบรอยแลว

Page 19: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

คนหาขอมล

การลาของนกเรยน

Page 20: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

ขนตอนการจดท าโปรแกรม

ก าหนดขอมลอางอง 1. ก าหนดระดบชน

GroupBox --> ก าหนดขอมลอางอง GroupBox --> บนทกขอมล GroupBox --> สอบถามขอมล

Btn_Level

Btn_Type

Btn_Master

Btn_Trans

Btn_Search

Page 21: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 22: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 23: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 24: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 25: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 26: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 27: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 28: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 29: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 30: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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()

Page 31: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 32: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

การแกไขขอมลนกเรยนทเลอก การพมพโคด 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

สามารถแกไข ขอมลตามชองขอความและบนทกขอมล

Page 33: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 34: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 35: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 36: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 37: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

.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

Page 38: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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)

Page 39: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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

Page 40: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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()

Page 41: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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")

Page 42: โครงงานคอมพิวเตอร์ ประเภท ...krukea.com/file.php/1/student_/_.pdfโครงงานคอมพ วเตอร ประเภทโครงงาน

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