วันอาทิตย์ที่ 28 พฤศจิกายน พ.ศ. 2553

How to use gambas2 connect to database (MySQL)

โปรแกรมกุ้ง หรือ Gambas ผมเคยเขียนหนังสือสอนแจกมาอยู่พักหนึ่งครับ แต่ยังไม่มีโอกาสทำให้สำเร็จ ตรวจทาน และทำจริงๆจังๆเสียที ก็เอาบทความไปอ่านเล่นๆกันก่อน

Gambas ใช้ภาษา Basic ครับ ง่ายๆ ซึ่งก็ง่ายสมชื่อ มีวิธี connect กับ database ได้ง่ายๆดังนี้

1. อันดับแรกต้องติดตั้งโปรแกรมจัดการฐานข้อมูล DBMS ที่ชื่อว่า MySQL ก่อนนะครับ

2. เปิดโปรแกรม GAMBAS ขึ้นมา คลิก New Project และเลือก Option ตามภาพเลยครับ


อย่าลืมติ๊กถูกที่ Database Access ขั้นตอนต่อไปก็ คลิก Next ตั้งชื่อ Project ซึ่งไม่มีอะไร

3. จากนั้นทางด้านซ้ายมือนะครับ จะมีโฟลเดอร์ชื่อ Modules ให้คลิกขวาเลือก New > Module
แล้วตั้งชื่อว่า MODMain.module นะครับ

4.สำหรับ มือใหม่ให้ลองสร้างฐานข้อมูลอะไรขึ้นมาก็ได้ หากยังไม่ได้สร้างผมก็ขอแนะนำสำหรับมือใหม่ให้เปิด ( มือฉมังก็ข้ามไปได้เลยนะครับ )
Terminal ขึ้นมาพิมพ์

4.1mysql -u [ชื่อผู้ใช้งาน] -p กด Enter
จากนั้นจะมีรหัสผ่านให้ใส่ก็ใส่รหัสผ่านลงไป

4.2จากนั้นพิมพ์ show databases; จะปรากฏรายชื่อฐานข้อมูลขึ้นมา จากนั้นก็ให้สร้างฐานข้อมูลใดๆ
ที่ชื่อไม่ซ้ำกับฐานข้อมูลที่มีอยู่ ในที่นี้ผมใช้ green_forum

4.3 พิมพ์ create database green_forum; กด Enter เพื่อสร้างฐานข้อมูล

4.4 จากนั้นพิมพ์ use green_forum; เพื่อเลือกใช้ฐานข้อมูล

4.5 พิมพ์ create table green_members(int unsigned not null auto_increment primary key,username char(50)); กด Enter เพื่อสร้างตารางข้อมูลครับ
(จริงๆคำสั่งแบบนี้สร้างฐานข้อมูลไม่ดี ควรกำหนด charset แต่ในที่นี้ละไว้เพื่อการศึกษาเท่านั้นครับ

4.6จากนั้นให้ลองแทรกข้อมูลใดๆลงไปในตารางโดยพิมพ์
 insert into green_members values(null,'touchdeep'); แล้วกด Enter ครับ

ก็เป็นอันเรียบร้อย ทีนี้เราก็จะมีฐานข้อมูล + ตาราง พร้อมข้อมูลไว้ทดสอบ

5.จากนั้นพิมพ์โค้ดต่างๆลงไปใน MODMain.module  ดังนี้ครับ

Code: [Select]
PUBLIC $Con AS NEW Connection
PUBLIC PROCEDURE Connect()
                $Con.Close()              ' ปิดการเชื่อมต่อฐานข้อมูลใดๆที่ค้างไว้
                $Con.Type = "MySQL"       ' ชนิดฐานข้อมูล ในที่นี้ใช้ MySQL
                $Con.Host = "localhost"   ' ชื่อของเซิร์ฟเวอร์ หากใช้เครื่องตัวเองพิมพ์ localhost
                $Con.Login = "touchdeep"       'ชื่อผู้ใช้ฐานข้อมู
                $Con.Password = "Aib12Ioja" ' รหัสผ่าน
                $Con.Port = "3306"        ' พอร์ตที่ใช้ในการเชื่อมต่อ พอร์ตค่าดั้งเดิมคือ 3306
                $Con.Name = "green_forum"      ' ชื่อฐานข้อมูล ในที่นี้ผมใช้ green_forum
                $Con.Open()               ' เปิดการเชื่อมต่อฐานข้อมูล
END
PUBLIC SUB Main()
                Connect() ' รันโพรซีเยอร์ชื่อ Connect ครับ
                FMain.Visible = TRUE ' ให้ค่าตรรกศาสตร์ของฟอร์มชื่อ FMain ใน Properties ค่าเป็นจริง ( สามารถมองเห็นได้ )
END

6.เมื่อสร้างเสร็จแล้ว ด้านซ้ายมือให้คลิกขวาที่ไฟล์ MODMain เลือก Startup Class ครับ



7.จากนั้น ดับเบิ้ลคลิกที่ FMain เพื่อสร้างฟอร์มทดสอบมาครับ
ในที่นี้ผมใช้ Button นะครับ ท่านก็กำหนดคุณสมบัติตามใจชอบ ไม่ต้องเอาตามผมก็ได้ครับ



จากนั้น ดับเบิ้ลคลิกที่ Button ที่สร้างมา ใส่โค้ดนี้ลงไปครับ

Code: [Select]
DIM $result AS Result
DIM $UserLists AS String
$result = MODMain.$Con.Exec("select * from green_members;")
$UserLists = $result!username
Message.Info($UserLists)

8.จากนั้นลองรันทดสอบดู ปรากฎว่าผ่านครับ

จากที่ตกลงกันไว้ข้อ 4 ข้อมูลที่อยู่ในฟิลด์ username ก็คือ touchdeep นะครับ
โปรแกรมก็ดึงค่าออกมาได้ถูกต้อง



( ตอนแคปเจอร์ เม้าส์ดันไปบังภาพซะ แต่สาบานได้ว่าเขียนว่า touchdeep อิอิ )


บทความการเชื่อมต่อฐานข้อมูลก็ประมาณนี้ครับ

ผมคงต้องยกเครดิตบทความให้พี่ๆบอร์ดนี้ที่เคยสอนผม

และเว็บนี้ครับ http://gambasdoc.org/help/howto/database

ที่เหลือการต่อยอดโปรเจคก็ นำไปต่อเอาเองนะครับ เช่นทำโปรแกรมบัญชี โปรแกรมสมุดโทรศัพท์
โปรแกรม บลาๆๆๆ ฯลฯ

หากบทความผิดพลาดประการใด กราบขออภัยอย่างสูง มาไว้ ณ โอกาสนี้ด้วยครับ

Presentฃ by touchdeep

ไม่มีความคิดเห็น:

แสดงความคิดเห็น