|
Python ติดต่อฐานข้อมูล Access
ตอนนี้มาเรื่องฐานข้อมูลกันบ้าง ฐานข้อมูลที่ชอบใช่กันก็พวก ms access mysql sqlite แต่วันนี้เอา ms access ก่อนดีกว่า source code คลิ๊กเลย
มาเริ่มกันเลย อย่างแรกต้อง download module "pyodbc" มาติดตั้งก่อน จากที่นี้เลย ไซด์นี้เลย //code.google.com/p/pyodbc/ หรือ d/l ตรงก็ที่นี้pyodbc
เมื่อติดตั้งเสร็จ ทดสอบ ลองพิมพ์คำสั่ง import pyodbc ถ้าไม่ error ก็แปลว่าติดตั้งใช้งานได้แล้ววว
ผมได้สร้างฐานข้อมูล MS Access ชื่อ school และมี table ชื่อ student มีสาม Fields คือ ID FName LName : เลขประจำตัว ชื่อ นามสกุล ตามลำดับ
ต่อไปมาสู่การเขียน code import pyodbc เรียกใช้ module pyodbc
db = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ=school.mdb') ทำการเชื่อมต่อฐานข้อมูลโดยระบุ driver DRIVER={Microsoft Access Driver (*.mdb)};
และบอกที่อยู่ของฐานข้อมูล access เช่น ฐานข้อมูลอยู่ที่ d:homepythondbschool.mdb ก็เขียนแบบนี้ DBQ=d:homepythondbschool.mdb แต่ในที่นี้เพื่อง่ายเลยให้โปรแกรมกับฐานข้อมูลอยู่ที่เดียวกันเลยกำหนดเป็น DBQ=school.mdb
ถ้าฐานข้อมูลมี password ก็กำหนด UID=admin;PWD=xxx เราจะคั่นข้อมูลด้วยเครื่องหมาย ; นะครับ แต่ในที่นี้ไม่มีpass เลยไม่ใส่
เมื่อติดต่อได้แล้ว ก็เรียก method cursor เพื่อสร้าง object cursor ทำให้เราสามารถใช้คำสั่ง sql ได้ ผ่าน method execute และอ่านข้อมูลที่ query ผ่าน method fetchall อีกทั้งอ่านข้อมูล schema ของ table ได้ด้วย เป็นต้น
cursor = db.cursor() cursor.execute("select * from student") rs = cursor.fetchall()
มาถึงคำสั่งนี้ เราก็ได้ข้อมูล student มาเก็บที่ตัวแปร rs แล้ว (ตั้งชื่ออื่นก็ได้น่า แต่ติดมาจาก vb ที่ย่อมาจาก recordset) การเรียกข้อมูล ก็ทำตามนี้ for row in rs: disp.insert(INSERT,row[0]+ "t" + row[1] + "t" +row.LName+"n")
โดยเรียกข้อมูลที่ละ แถว(row) มาแสดง โดยระบุ index เช่น row[0] หมายถึง ID แต่ถ้าเราจำ index ไม่ได้ ก็ให้ระบุเป็นชื่อ Field ได้เหมือนกัน เช่น row.LName
เมื่อแสดงเสร็จ ก็ปิด ฐานข้อมูลด้วยคำสั่ง db.close
ในตัวอย่างนี้เราใช้ GUI Text เพื่อแสดงข้อมูล root = Tk() disp = Text(root) disp.pack()
และแสดงข้อมูลด้วยคำสั่ง disp.insert(INSERT,row[0]+ "t" + row[1] + "t" +row.LName+"n") จากที่อธิบายข้างต้น ตรง row.LName จะเปลี่ยนเป็น row[2] ก็ได้นะครับ
สุดท้าย web python ดีๆ ที่ใช้ศึกษา ก็ที่นี้เลย //www.tutorialspoint.com/python/
Create Date : 16 เมษายน 2554 |
Last Update : 16 เมษายน 2554 20:46:56 น. |
|
0 comments
|
Counter : 3794 Pageviews. |
|
|
|
| |
|
|