database connectivity what is ado. what is ado? ado is a microsoft technology ado stands for activex...

18
Database Connectivity What is ADO

Upload: mark-patterson

Post on 19-Jan-2016

228 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Database Connectivity

What is ADO

Page 2: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

What is ADO?

• ADO is a Microsoft technology

• ADO stands for ActiveX Data Objects

• ADO is a Microsoft Active-X component

• ADO is automatically installed with Microsoft IIS

• ADO is a programming interface to access data in a database

Page 3: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Accessing a Database from an ASP Page

1. Create an ADO connection to a database 2. Open the database connection 3. Create an ADO recordset 4. Open the recordset 5. Extract the data you need from the

recordset 6. Close the recordset 7. Close the connection

Page 4: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

1&2. ADO Database Connection

• Create a DSN-less Database Connection

• <%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

%>

Page 5: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

• Create an ODBC Database Connection• <%

set conn=Server.CreateObject("ADODB.Connection")conn.Open "northwind.mdb"%>

• An ODBC Connection to an MS Access Database

• Open the ODBC icon in your Control Panel. • Choose the System DSN tab. • Click on Add in the System DSN tab. • Select the Microsoft Access Driver. Click Finish. • In the next screen, click Select to locate the database. • Give the database a Data Source Name (DSN). • Click OK.

Page 6: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

3&4. ADO Recordset

• To be able to read database data, the data must first be loaded into a recordset. 

• Create an ADO Table Recordset• <%

set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")rs.Open "Customers", conn%>

Page 7: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Create an ADO SQL Recordset

• <%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")rs.Open "Select * from Customers“ , conn%>

Page 8: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Extract Data from the Recordset

• <%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")rs.Open "Select * from Customers", conn

for each x in rs.fields  response.write(x.name)  response.write(" = ")  response.write(x.value)next%>

Page 9: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Definitions

• The ADO Connection Object: The ADO Connection object is used to create an open connection to a data source. Through this connection, you can access and manipulate a database.

• The ADO Recordset Object :The ADO Recordset object is used to hold a set of records from a database table.

Page 10: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Operations

• List, Add, Update, and Delete Database Records

Page 11: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Display the Field Names and Field Values

• <html><body>

<%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")rs.Open "SELECT * FROM Customers", conn

• do until rs.EOF  for each x in rs.Fields    Response.Write(x.name)    Response.Write(" = ")    Response.Write(x.value & "<br />")  next  Response.Write("<br />")  rs.MoveNextloop

rs.closeconn.close%>

</body></html>

Page 12: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Add a Record to a Table in a Database

• <html><body>

<%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

sql="INSERT INTO customers (customerID,"sql=sql & "name,address)"sql=sql & " VALUES "sql=sql & "('" & Request.Form("custid") & "',"sql=sql & "'" & Request.Form("name") & "',"sql=sql & "'" & Request.Form("address") & "')"

on error resume nextconn.Execute sql, recaffectedif err<>0 then  Response.Write("No update permissions!")else  Response.Write("<h3>" & recaffected & " record added</h3>")end ifconn.close%>

</body></html>

Page 13: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Update a Record in a Table• <h2>Update Record</h2>

<%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

cid=Request.Form("customerID") • sql="UPDATE customers SET "

  sql=sql & "name='" & Request.Form("name") & "',"  sql=sql & "address='" & Request.Form("address") & "',"     sql=sql & " WHERE customerID='" & cid & "'"  on error resume next  conn.Execute sql  if err<>0 then    response.write("No update permissions!")  else    response.write("Record " & cid & " was updated!")  end ifend ifconn.close%>

</body></html>

Page 14: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Delete a Record in a Table• <html>

<body>

<h2>Delete Record</h2><%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

cid=Request.Form("customerID")sql="DELETE FROM customers"  sql=sql & " WHERE customerID='" & cid & "'"  on error resume next  conn.Execute sql  if err<>0 then    response.write("No update permissions!")  else    response.write("Record " & cid & " was deleted!")  end ifend ifconn.close%>

</body></html>

Page 15: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Multiple Response.Write's• <html>

<body>

<%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")rs.Open "SELECT name, address FROM Customers", conn%>

• <table border="1" width="100%"><%do until rs.EOF%>  <tr>    <td><%Response.Write(rs.fields( “name"))%></td>    <td><%Response.Write(rs.fields( “address"))%></td>  </tr><%rs.MoveNextloop%></table>

<%rs.closeconn.closeset rs = Nothingset conn = Nothing%>

</body></html> For a large query, this can slow down the script processing time,

since many Response.Write commands must be processed by the server.

Page 16: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

Alternative speed up way

• The solution is to have the entire string created, from <table> to </table>, and then output it - using Response.Write just once.

• str = rs.GetString(format,rows,coldel,rowdel,nullexpr)

Page 17: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

• coldel - the HTML to use as a column-separator

• rowdel - the HTML to use as a row-separator

• nullexpr - the HTML to use if a column is NULL

Page 18: Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component

• <html><body>

<%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")rs.Open "SELECT Companyname, Contactname FROM Customers", conn

str=rs.GetString(,,"</td><td>","</td></tr><tr><td>","&nbsp;")%>

• <table border="1" width="100%">  <tr>    <td><%Response.Write(str)%></td>  </tr></table>

<%rs.closeconn.closeset rs = Nothingset conn = Nothing%></body></html>