ASP : Connection Object

   
 


 

 

Home

Board-Forum-Diary

Administrator

ASP

=> ASP?

=> ASP : Connection Object

=> Connect DB access

=> Connect DB Ms Sql Server 7.0

=> ASP and SQL

=> ASP Mysql (ODBC)

=> ASP export Excel

=> ASP export Graph

=> ASP MS-word

=> ASP read data EXCEL

=> ASP read data EXCEL2

Business Manage

Computer Basic

Computer Hardware

Computer Software

Computer Tip

Computer Virus

Contact

Database

Firefox

Gallery

Game

HI5 ME!

Link

Project Demo

System Analysis

Website

Food & Drink

SkyDrive

MS-word

MS-excel

Mobile

Drug

Clock

Car & Motorcycle

Download

 


     
 

แนะนำ ADO Object Model

ActiveX Data Objects คือ ชุดของออบเจ็กต์ที่ถูกนำมาใช้ ในการติดต่อกับ Database Server สำหรับ ASP โดยใช้ ADODB สร้างออบเจ็กต์ที่เกี่ยวข้องกับการ ติดต่อและดึงข้อมูล จากฐานข้อมูล เพื่อมาใช้งาน โดยมีออบเจ็กต์ต่าง ๆ ที่เกี่ยวกับ ADO ดังนี้

1. Command Object
เป็นออบเจ็กต์คำสั่ง ที่ถูกส่งไปเพื่อเอ็กซ์คิวต์ ให้ได้เร็คคอร์ดเซ็ต กลับมาเป็นผลลัพธ์ และยังมีความสามารถในการกำหนด พารามิเตอร์ ต่าง ๆ ไปกับการส่งคำสั่งปกติได้

2. Connection Object
เป็นออบเจ็กต์ ที่ถูกสร้างขึ้นเพื่อเชื่อมต่อกับฐานข้อมูล

3. Recordset Object
เป็นออบเจ็กต์ ที่ได้มาจาก การส่งคำสั่งเพื่อให้ได้เร็คคอร์ดเซ็ต เป็นผลลัพธ์กลับมา

เริ่มปฏิบัติการติดต่อกับฐานข้อมูลกันเลยครับ

การที่เราจะนำข้อมูลในฐานข้อมูล หรือ ใน database มาใช้นั้นเราต้องทำการติดต่อกับฐานข้อมูลก่อนครับ ในหัวข้อนี้ผมจะแนะนำการติดต่อแบบง่าย ๆ โดยผ่าน ODBC,DSNLess และ OLEDB

1.การติดต่อผ่าน ODBC

ก่อนจะติดต่อผ่าน ODBC คุณต้องทำการ Set Dsn ก่อนครับ พูดง่าย ๆ ก็คือ การ Set Driver เพื่อให้รู้จักกับฐานข้อมูลนั้นเอง
หลังจาก Set Dsn เรียบร้อยแล้ว ในที่นี้ผมได้ชื่อ Dsn เป็น Database

ขั้นต่อไปก็ติดต่อกับฐานข้อมูล

รูปแบบการติดต่อ

Set Conn = Server.CreatteObject("ADODB.Connection")
Conn.Open "Dsn-name" ,"[userName]" , "[password]"

เมื่อ
Conn : เป็นการสร้างออบเจ็กต์ใหม่ชื่อว่า Conn
Dsn-name : คือชื่อ Dsn ที่เราสร้างขึ้นมาหากยังไม่เข้าใจให้คลิกที่ศึกษาที่หัวข้อการ Set Dsn
userName : ชื่อผู้มีสิทธิใช้ฐานข้อมูล ถ้าไม่มีใส่ "" (ว่าง)
password :รหัสผ่านการใช้ฐานข้อมูลของผู้ใช้ userName ถ้าไม่มีใส "" (ว่าง)


เมื่อนำมาใช้กับ Dsn ที่ผมสร้างขั้นมาจะได้

Set Conn = Server.CreatteObject("ADODB.Connection")
Conn.Open "
Dsn-name" ,"" , ""

สำหรับการติดต่อกับฐานข้อมูลก็เป็นอันเสร็จแล้วครับ ส่วนเรื่องการดึงข้อมูลมาให้ เราจะได้เรียนรู้ในหัวข้อต่อไปครับ

เพิ่มเติม ข้อเสียของวิธีนี้คือ Server ต้อง Support กับการเชื่อมฐานข้อมูลแบบ ODBC และ เราต้องเสียเวลาไป Set ค่า ใน Dsn Server



2.การติดต่อผ่าน DsnLess

วิธีนี้จะแตกต่างจากวิธีผ่าน ODBC คือไม่ต้องกำหนด DSN ที่ ODBC แต่เรากำหนดลงในตัว asp script เลย หากเราเปลี่ยนแปลงอะไรก็ตาม เช่นเปลี่ยนตำแหน่งการเก็บแฟ้มข้อมูล หรือเปลี่ยน driver เราต้องตามไปแก้ ทุกเว็บเพจ ที่เขียน ซึ่งจะยุ่งยากกว่ามาก สำหรับการแก้ไขการ Set แบบ DsnLess วิธีนี้คือ การเขียนไฟล์สำหรับการ Include สารถศึกษาได้จากหัวข้อ Include Files

รูปแบบการติดต่อ

Set Conn = Server.CreatteObject("ADODB.Connection")
Conn.Open "Driver={database_driver} ; DBQ = drive:path[database_name]"


database_driver : Driver สำหรับฐานข้อมูล ที่จะใช้ มีหลาย drive เช่น
          FoxPro กำหนดดังนี้ Driver ={Microsoft FoxPro Driver(*.dbf)};DBQ=drive:path ที่เก็บไฟล์ .dbf
          Access กำหนดดังนี้ Driver ={Microsoft Access Driver(*.mdb)};DBQ=drive:pathชื่อฐานข้อมูล.mdb
drive:path : ชื่อ Drive และ Directory ที่เก็บฐานข้อมูล
database_name : ชื่อฐานข้อมูล ยกเว้นถ้าเป็น ฐานข้อมูลตระกูล FoxBase,FoxPro, dBase ไม่ต้องระบุ

ตัวอย่าง

Set Conn = Server.CreatteObject("ADODB.Connection")
Conn.Open "Driver ={Microsoft Access Driver(*.mdb)};DBQ=C:Inetpubwwwrootdbdatabase.mdb"

เพิ่มเติม จากตัวอย่างที่ผ่านมาจะเห็นว่าสามารถใช้ได้กับ path ที่เป็น Drive เท่านั้น ถ้าหากใช้บน Server จะเกิดปัญหาเรื่องไม่สามารถติดต่อกับฐานข้อมูลได้

เราสามารถแก้ปัญหานี้ได้โดย กำหนดเป็น Server.MapPath

ตัวอย่าง

Set Conn=Server.Createobject("ADODB.Connection")
Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("db/database.mdb"),"" , ""

หมายเหตุ ,"",""ความหมายคือ ,"[username]","[password]" คือ Username และ รหัสผ่านฐานข้อมูลในกรณีที่มี ถ้าไม่มีให้ปล่อยว่างเอาใว้

จากตัวอย่างข้างบนเป็นเพียงการติดต่อกับฐานข้อมูลเท่านั้น ส่วนเรื่องการดึงข้อมูลมาใช้เราจะได้เรียนในหัวข้อต่อไปครับ

เพิ่มเติมอีกนิดหนึ่ง
Method ที่น่าสนใจ สำหรับ Connection

.Open : เป็นการเปิดการเชื่อต่อกับ DSN ชื่อ mydsn ที่กำหนดไว้ที่ ODBC
.Close :เป็นการเลิกากรติดต่อกับ DSN
.Execute(strSQL) : เป็นการติดต่อเพื่อประมวลผลข้อมูล จากฐานข้อมูล โดยใช้สตริงที่เก็บคำสั่ง SQL ที่ต้องการกระทำกับฐานข้อมูลเพื่อให้ได้ข้อมูลที่ต้องการ

2.การติดต่อผ่าน OLEDB

การติดต่อฐานข้อมูลในแบบสุดท้ายที่จะกล่าวถึงคือแบบ OLEDB หรือ (Object Link Embedding Database)
OLEDB จะมีโพรไวเดอร์ (provider) ทำหน้าที่คล้ายกับไดร์เวอร์ในระบบการติดต่อฐานข้อมูล แบบ DNS และ DNSLess แต่โพรไวเดอร์จะมีลักษณะพิเศษกว่า คือมีการติดต่อกับฐานข้อมูลที่เร็วกว่าและรองรับการใช้ฐานข้อมูลแบบสัมพันธ์ (Relational Database) เป็นต้น

การติอต่อฐานข้อมูลในรูปแบบของ OLEDB จะมีรูปแบบดังนี้

Set strCon = Server.CreateObject("ADODB.Connection")
strCon.Open "PROVIDER=ชื่อโพรไวเดอร์; DATA SOURCE=ชื่อไฟล์หรือเซิร์ฟเวอร์; INITIAL CATALOG =ชื่อฐานข้อมูล;USER ID=ชื่อผู้ใช้;PASSWORD=รหัสผ่าน"

เช่นการติดต่อกับฐานข้อมูลที่ที่เก็บอยู่ใน Drive
Set Conn= Server.CreateObject("ADODB.Connection")
Conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:database.mdb"


หรือถ้าคุณต้องการเรียกไฟล์ที่อยู่ใน path ของ Server
Set Conn = Server.CreateObject("ADODB.Connection")
Conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/database.mdb")

 
 

Total, there have been 124923 visitors (304857 hits) on this page!