แต่ที่ผ่านมา ผมพบกับความยุ่งยากเวลาเขียนโปรแกรมฐานข้อมูลติดต่อกับ MySQL เพราะเวลาลงโปรแกรมให้ลูกค้าเราต้องลงโปรแกรมเราเองก่อน เสร็จแล้วก็ต้องลง MySQL Server เอาไว้รัน Service ของเจ้า MySQL อีก แต่วันนี้ผมจะเปลี่ยนวิธีเดิมๆ มาเป็น MySQL Portable แทน ซึ่งมันง่ายต่อการติดตั้งของตัวลูกค้ามากๆครับ คือ เราทำแผ่นติดตั้งหรือตัว Installation ให้ลูกค้าแค่นั้นพอ เราไม่ต้องเสียเวลาไปเซ็ต โน่น นี่ นั่น ให้ลูกค้าเลยครับ ซึ่งการทำแผ่นติดตั้งในบทความนี้ผมใช้ Setup Factory 8.0 ครับ ซึ่งตอนนี้โปรแกรมเค้าออกเวอร์ชั่นใหม่กว่าแล้ว ก็ลองๆ ประยุกต์ดู Concept เดียวกันครับ
ก่อนอื่นก็ไปดาวน์โหลด โปรแกรม 2 ตัวนี้มาก่อนครับ
1. MySQL Portable : Download USBWebserver V8.6
2. Setup Factory : Setup Factory 9.5 Free Trial
ก่อนอื่นต้องขอเกริ่นครับว่า ผมจะเขียนโปรแกรมเก็บข้อมูลง่ายๆ (ตารางเดียวพอครับ) แต่จะเน้นการใช้งาน MySQL Portable กับ Setup Factory ว่ามีวิธีตั้งค่าอะไรยังงัยครับ ให้โปรแกรมเราติดตั้งได้ง่ายๆ แล้วลูกค้าก็จะแฮปปี้ครับ ^_^
1. Upzip ไฟล์ USBWebserver ออกมาก่อนครับ
2. ดับเบิลคลิกไฟล์ usbwebserver.exe จะแสดงหน้าต่างโปรแกรมตามรูปด้านล่าง จากนั้นไปที่แท็บ Setting ไปเปลี่ยน Port MySQL ไม่ให้ซ้ำกับ Port อื่น (ผมเอา 3350 ละกันครับ) เสร็จแล้วกดปุ่ม Save จากนั้นโปรแกรมจะให้เรา Restart โปรแกรม USBWebserver อีกทีครับ เราก็ทำตามนั้นเลยครับ พอเปิดโปรแกรมขึ้นมาอีกครั้ง Port MySQL ก็จะเปลี่ยน 3350 ตามที่เราเปลี่ยนครับ
3. ต่อมา เรามาลองสร้างตารางฐานข้อมูลกันดู ซึ่งตัวอย่างนี้จะติดต่อกับ MySQL Portable ด้วยโปรแกรม SQLyog ครับ (ใครถนัดตัวไหนก็แล้วแต่สะดวกครับ) เปิดโปรแกม SQLyog ขึ้นมาแล้วตั้งค่าตามภาพด้านล่างนี้เลยครับ เสร็จแล้วกดปุ่ม Connect
4. คลิกที่ดาต้าเบส test แล้วสร้างตารางด้วยคำสั่ง SQL ในส่วน Query ครับ เสร็จแล้วกดปุ่ม F9
คำสั่งสร้างตาราง tbl_class (เก็บรายชื่อห้องเรียนครับ เอาง่ายๆ เป็น Idea ครับ)
CREATE TABLE `tbl_class` (
`class_id` char(10) NOT NULL,
`class_name` varchar(70) DEFAULT NULL,
PRIMARY KEY (`class_id`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620
5. ที่นี้เรามาสร้างโปรเจคด้วย Delphi กันครับ ตามรูปด้านล่างเลยครับ เขียนง่ายๆ สไตล์ Delphi ครับ ลากแล้ววาง Code ไม่เขียน ซักตัวก็ทำงานได้ครับ
ดาวน์โหลด Source code ของโปรเจค
6. ต่อไปเรามาสร้างแผ่น Install ของโปรแกรมเรากันครับ เริ่มต้นจากเปิดโปรแกรม Setup Factory ขึ้นมา แล้วทำตามขั้นตอนด้านล่างเลยครับ
รูปด้านบนใส่ ตามนี้นะครับ
INIFile.SetValue(SessionVar.Expand("%AppFolder%\\MySQL\\my.ini"), "client", "port", "3350");
INIFile.SetValue(SessionVar.Expand("%AppFolder%\\MySQL\\my.ini"), "mysqld", "port", "3350");
INIFile.SetValue(SessionVar.Expand("%AppFolder%\\MySQL\\my.ini"), "mysqld", "innodb_data_home_dir", SessionVar.Expand("%AppFolder%\\MySQL\\").."data\\");
INIFile.SetValue(SessionVar.Expand("%AppFolder%\\MySQL\\my.ini"), "mysqld", "innodb_log_group_home_dir", SessionVar.Expand("%AppFolder%\\MySQL\\").."data\\");
result = Service.Query("MySQLPortableTest","");
if result == 0 then
File.Run(SessionVar.Expand("%AppFolder%\\MySQL\\bin\\mysqld_usbwv8"),"/install MySQLPortableTest","","",true);
end
File.Run("net","start MySQLPortableTest","","",true);
รูปด้านบนใส่ ตามนี้นะครับ
File.Run("net","stop MySQLPortableTest","","",true);
File.Run(SessionVar.Expand("%AppFolder%\\MySQL\\bin\\mysqld_usbwv8"),"/remove MySQLPortableTest","","",true);
รูปด้านบนใส่ ตามนี้นะครับ
Folder.DeleteTree(SessionVar.Expand("%AppFolder%\\MySQL\\"), nil);
7. ทีนี้เรามาลอง ติดตั้งโปรแกรมของเรากันดูครับ ว่าใช้ได้หรือเปล่า จากรูปด้านล่างจะเห็นว่าไฟล์ติดตั้งมีขนาดประมาณ 6 MB กว่าๆครับ
8. สุดท้ายเรามาลอง Run โปรแกรมกันดูครับ
การใช้งานทั้งหมดต้องการให้เห็นเพียง Concept การใช้งานเท่านั้น เราสามารถไปประยุกต์ใช้ต่อได้อีกมากมายครับ
สำหรับท่านใดที่ต้องการศึกษาการพัฒนาโปรแกรมด้วย Delphi อย่างรวดเร็ว ลัดสั้น ตรงจริง ผมขอแนะนำให้ศึกษาจากสื่อการสอนของบริษัท เดลส์เน็ท เอ็นเทอร์ไพรส์ จำกัด (www.delsnet.com) ครับ ส่วนตัวผมก็เริ่มต้นจากตรงนั้น จนวันนี้เขียนโปรแกรมด้วย Delphi มาโดยตลอด จนเขียนโปรแกรมหารายได้เสริมตอนเรียนมหาลัยได้สบายๆ เลยครับ เพราะเข้าใจและทำตามเองได้ครับ