ตัวอย่าง dlist1.asp :
การเชื่อมต่อฐานข้อมูลแบบ DSNLess เข้า Microsoft access ใช้ open ผ่าน recordset จึงใช้ recordcount ได้
<%
set rs = server.createobject("adodb.recordset")
' conn = "driver={microsoft access driver (*.mdb)}; dbq=d:\thaiall.com\asp\dthai97.mdb;"
' conn = "driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath("dthai97.mdb")
conn = "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("dthai97.mdb")
sql = "select * from tbthai"
rs.open sql, conn, 1, 3
response.write("Total record : "& rs.recordcount & "<br>")
do while not rs.eof
response.write(rs("fid") & " " & rs("fname") & " " & rs("fsalary") & "<br>")
rs.MoveNext
loop
rs.close
set rs = nothing
%>
ตัวอย่าง dlist2.asp :
การเชื่อมต่อฐานข้อมูลแบบ DSNLess เข้า Microsoft access ใช้ execute SQL ผ่าน connection
<%
set conn = server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("dthai97.mdb")
sql = "select * from tbthai"
set rs = conn.execute(sql)
do while not rs.eof
response.write(rs("fid") & " ")
response.write(rs("fname") & " ")
response.write(rs("fsalary") & "<br>")
rs.MoveNext
loop
conn.close
set rs = nothing
set conn = nothing
%>
ตัวอย่าง dlist3.asp :
การเชื่อมต่อฐานข้อมูลแบบ DSNLess เข้า Microsoft access ใช้ execute SQL ผ่าน connection
คล้ายแบบที่ dlist2.asp ต่างกันที่ ส่วนของการแสดงผลภายใน loop และเพิ่มตัวอย่างการเชื่อมต่อแบบต่าง ๆ
<%
set conn = server.createobject("adodb.connection")
' conn.open "provider=microsoft.jet.oledb.4.0; data source=c:\thai.xls; extended properties=""excel 8.0; hdr=yes"";"
' conn.open "driver={mysql}; server=localhost; database=dthai; uid=; pwd=;"
' conn.open "driver={sql server}; server=localhost; database=dthai; uid=sa; pwd=;"
' conn.open "driver={microsoft odbc for oracle}; server=oracleserver; uid=; pwd=;"
' conn.open "driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath("dthai97.mdb")
' conn.open "driver={microsoft access driver (*.mdb)}; dbq=d:\thaiall.com\asp\dthai97.mdb;"
conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("dthai97.mdb")
' conn.execute("delete * from tbthai") บรรทัดนี้เพิ่มได้ แต่ผลคือไม่แสดงอะไรนะครับ
set rs = conn.execute("select * from tbthai")
do while not rs.eof
response.write(rs("fid") & " " & rs("fname") & " " & rs("fsalary") & "<br>")
rs.MoveNext
loop
conn.close
set rs = nothing
set conn = nothing
%>
ตัวอย่าง dlist4.asp :
การเชื่อมต่อฐานข้อมูลแบบ DSN (Data Source Name) ใน ODBC และไม่ใช้ recordset
<%
' xdthai97 คือ Data Source Name ที่ถูกสร้างด้วย ODBC Data source ใน control panel
' ให้เลือก User DSN, Add, Microsoft Access Drriver.. , Finish
' แล้วพิมพ์ xdthai97 ในช่อง Data Source Name แล้วอย่าพึ่งกดปุ่ม OK
' ให้กดปุ่ม Select เพื่อเลือกแฟ้มชื่อ dthai97.mdb ที่อยู่ในคอมพิวเตอร์ แล้วกดปุ่ม OK
' ผลการเพิ่ม จะพบ xdthai97 อยู่ในส่วนของ User DSN ซึ่งจะชี้ไป dthai97.mdb อัตโนมัติ
' conn.open "dsn=xdthai97;uid;pwd;" ก็ใช้ได้
set conn = server.createobject("adodb.connection")
conn.open "xdthai97", "", ""
sql = "select * from tbthai"
set rs = conn.execute(sql)
do while not rs.eof
response.write(rs("fid") & " " & rs("fname") & " " & rs("fsalary") & "<br>")
rs.MoveNext
loop
conn.close
set rs = nothing
set conn = nothing
%>
ตัวอย่าง dlist5.asp :
การเชื่อมต่อฐานข้อมูลแบบ DSN (Data Source Name) ใน ODBC และใช้ recordset
ถ้าใช้ recordset ก็จะใช้ rs.recordcount ได้
ทดสอบ DSN ที่เชื่อมต่อกับ MYSQL ในเครื่องที่ลง MYODBC แล้วก็ ok มีตัวอย่างที่ http://www.thaiall.com/mysql เช่นกัน
<%
set conn = server.createobject("adodb.connection")
conn.open "xdthai97", "", ""
set rs = server.createobject("adodb.recordset")
sql = "select * from tbthai"
rs.open sql, conn, 1, 3
do while not rs.eof
response.write(rs("fid") & " " & rs("fname") & " " & rs("fsalary") & "<br>")
rs.MoveNext
loop
conn.close
set rs = nothing
set conn = nothing
%>
ตัวอย่าง dlist6.asp :
การเชื่อมต่อฐานข้อมูล MYSQL ในเครื่องที่ลง MYODBC มีตัวอย่างที่ http://www.thaiall.com/mysql
ถ้าเครื่องที่เชื่อมต่อชื่อ localhost ฐานข้อมูลชื่อ test ส่วน user และ password คือ u และ p
<%
set conn = Server.CreateObject("adodb.connection")
userpassword = "Database=test;uid=u;password=p;"
conn = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;" & userpassword
conn.Open conn
set rs = conn.Execute("select * from customer")
' response.write(rs.recordcount) ต้องใช้ recordset
do while not rs.eof
response.write(rs("custid") & " " & rs("custname") & "<br>")
rs.movenext
loop
conn.close
set rs = nothing
set conn = nothing
%>
ตัวอย่าง dlist7.asp :
การเชื่อมต่อกับฐานข้อมูล Microsoft Access 2013 บน win 8.1 คล้ายแบบที่ 1 ใช้ recordset อย่างเดียว
ซึ่งรุ่นนี้ไม่สามารถเปิดแฟ้ม .mdb และเชื่อมต่อได้ด้วย microsoft access driver [dthai2013.accdb]
<%
set rs = server.createobject("adodb.recordset")
conn="driver={microsoft access driver (*.mdb, *.accdb)};dbq=c:\inetpub\wwwroot\x.accdb;"
'conn="driver={microsoft access driver (*.mdb, *.accdb)};dbq=" & server.mappath("x.accdb")
sql = "select * from tbthai"
rs.open sql, conn, 1, 3
do while not rs.eof
response.write(rs("fid") & " " & rs("fname") & " " & rs("fsalary") & "<br>")
rs.MoveNext
loop
rs.close
set rs = nothing
%>
ตัวอย่าง dlist8.asp :
การเทียบเวลาการ loop หลังเชื่อมต่อแบบ connection กับ recordset [dthai100k.zip]
<%
con1 ' 250ms
con2 ' 430ms
con1 ' 249ms
function con1()
dim tstart
sql = "select * from tbthai"
set cn1 = server.createobject("adodb.connection")
cn1.open "provider=microsoft.jet.oledb.4.0; data source="& server.mappath("dthai100k.mdb")
set rs1 = cn1.execute(sql)
tstart = timer
do while not rs1.eof
rs1.MoveNext
loop
response.write(((timer - tstart) * 1000) & "ms<br/>")
set cn1 = nothing
end function
function con2()
set rs2 = server.createobject("adodb.recordset")
cn2 = "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("dthai100k.mdb")
sql = "select * from tbthai"
rs2.open sql, cn2, 1, 3
tstart = timer
do while not rs2.eof
rs2.MoveNext
loop
response.write(((timer - tstart) * 1000) & "ms<br/>")
rs2.close
set rs2 = nothing
set cn2 = nothing
end function
%>
|