ADO (Active Data Objects) 1 Using ASP with VBScript to access database Display http://buscom.mcmaster.ca/users/yuanyuf/adoexample/ artist.asp (on buscom server) http://facbusad1.mcmaster.ca/users/ap1/yuanyuf/artist.a sp (on FACBUSAD1 server) Query http://facbusad1.mcmaster.ca/users/ap1/yuanyuf/search _artist.asp (search_artist) Data Entry http://facbusad1.mcmaster.ca/users/ap1/yuanyuf/add_ar tist.asp (add_artist) Design ASP for web database access Web designer DB Server Microsoft Access ODBC DB ASP Local Web site LAN Microsoft SQL DB Dream waver Remote Web site ODBC Web user Web Browser ASP Internet Web Server Hands on Experience 1: using the ARTIST table created by Dr.Yuan Download ADO example zip file from the course web site. Save it in your Q drive on the facbusad1 server Unzip the files using Easyzip. Save the ASP and picture files in your folder in the facbusad1 server You can now access the ASP pages http://facbusad1.mcmaster.ca/users/ap1/yourusername/artist.asp (the same for search_artist.asp, add_artist.asp) Major steps Create a database on SQL server Create ODBC DSN on Web server Create a HTML page to invoke ASP Create an ASP page and store it on the Web server root directory Use browser to access ASP Open Your Artist database Open your artist database downloaded from the ADO example zip file. Export it to the SQL server using your ODBC (external- export-moreLink the Artist database to your access 2007. Create or link to ARTIST table You can create and link to ARTIST table on SQL server from Microsoft Access Specify ODBC in your Windows XP System DSN: ODBCyuanyuf (use yours) SQL server: facbusad1.mcmaster.ca Login: yuanyuf (use your email name) Password: yuank723 (use your student id #) ARTIST Table in Access Design ASP for web database access Web designer DB Server Microsoft Access ODBC DB ASP Local Web site LAN Microsoft SQL DB Dream waver Remote Web site ODBC Web user Web Browser ASP Internet Web Server ASP Pages artist.asp search_artist.asp get_artist.asp add_artist.asp update_artist.asp Using Dreamwaver you can look at and edit these pages. Introduction to Dreamweaver Access Dreamwaver All programs – Micromedia - Dreamwaver Create a New Site Click on “Manage Sites” (use one of two options) In the popup window select “New Site” Option 1 Option 2 Local Site Definition In the Local Info Section Site Name: <Your Choice, e.g. 4kd3> Local Folder: <Your Choice in your Q drive or in your own PC> HTTP Address: http://facbusad1.business.mcmaster.ca/user s/ap1/<your MACID> This is where your web site is (your Q drive) Remote Site Definition In the Remote Info Section Access: FTP FTP Host: facbusad1.business.mcmaster.ca Login: < your MACID> Password: <your MACID PASSWORD> Note: this is used when you connect the web site from home. When complete, click OK. At the sites window selete the new Site and click DONE. View se Create a new ASP VBScript View folder User Interface Menu Select File View to be displayed in Area 1 dropdown (Local View/Remote View) Select Up Arrow to upload files from Local View to Remote View Select Down Arrow to download files from Remote View to Local View Up and Down Arrows to synchronize files between Local and Remote Views Folder Files located in the current selected location HTML Objects Code Editing Area Preview Editing Area Basic Structure of HTML <HTML> <HEAD> <TITLE> web page title text </TITLE> </HEAD> <BODY> Web page content text and tags </BODY> </HTML> Display data: artist.asp http://buscom.mcmaster.ca/users/yuanyuf/adoexample/artist.asp http://facbus.mcmaster.ca/users/ap1/yuanyuf/artist.asp Create a HTML page Artist Artist HTML <html><head><title>Artist</title></head> <body> <p align="left">ARTIST</p> <table border="1" width="55%"> <tr><td>Name</td> <td>Nationality</td> <td>Picture</td></tr> <tr><td>Nancy</td><td>American</td> <td><img src="pic1.jpg" width="61" height="72"></td></tr> </table></body></html> Relative path Root(/) home.html David service.html Asp-bin login.asp Working From: service.html prod.html login.asp Nancy prod.html Images logo.jpg Relative Path: Images/logo.jpg ../David/Images/logo.jpg ../Images/logo.jpg Add Database connection mySql: a string variable that stores SQL statement myConn: an connection object that specifies the database connection myRS: a record set object that stores database query results Set Connection Open Connection Execute query Add Database connection <% Dim myConn, myRS, mySql mySql="select * from ARTIST" set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "dsn=ODBCyuanyuf;uid=yuanyuf;pwd=yuank723" Set myRs = myConn.Execute(mySql) %> Display data to HTML Using record set to access query result <%=RecordSet (“FieldName”)%> Using a do while loop to display multiple records in a table or free style line <%do while not RecordSet.EOF%> using HTML tags to display one record result <%RecordSet.MoveNext%> <%loop%> Display data to HTML <table border="1" width="55%"> ... <tr> <%do while not myRs.EOF%> <tr><td><%=myRs("Name")%></td> <td><%=myRs("Nationality")%></td> <td><img src="<%=myRs("Picture")%>" width="61" height="72"></td> </tr> <%myRs.MoveNext%> <%loop%> </table> <%myRs.close%> Query a Database Using HTML form to submit a query criteria Assemble a database query using the input from the form Execute a query Display query results in HTML Search Artist Basics of a Form <form methods = “post” action=“…asp”> <input type=“text”…> <input type=“password”…> <select>… <option>…</option> </select> <input type=“submit”..> <input type=“reset”…> </form> Form for Search artist <form method="POST" action="get_artist.asp"> <p><select name="Nationality" size="1"> <option selected value="American">American</option> <option value="Canadian">Canadian</option> <option value="Spanish">Spanish</option> </select> <input type="submit" value=“Get it" name="B1"> <input type="reset" value="Reset” name="B2"> </p> </form> Assemble a query in get_artist.asp <%Dim myConn, myRS, mySql,strNationality strNationality = Request.Form("Nationality") mySql="select * from ARTIST where Nationality = '" & strNationality & "'" %> Data Entry Form Data Entry Form add_artist.asp <form method="POST" action="update_artist.asp"> <p>Name: <input type="text" name="Name" size="20"></p> <p>Nationality:<select name="Nation" size="1"> <option selected value="American">American</option> <option value="Canadian">Canadian</option> <option value="Spanish">Spanish</option> </select></p> <p>Picture File Name: <input type="text" name=“Picture" size="20"></p> <p><input type="submit" value="Submit" name="B1"> <input type="reset" value="Reset" name="B2"></p> </form> Enter or modify data in Database Using form to collect input data Assemble a query for database updating Connect the database and lock the table Update database using input from the form Display data to confirm the updating ADD Data to Database update_artist.asp <% Const adoCursorType = 2 'dynamic cursor Const adoLockType = 3 'optimistic locking Const adoIsolationLevel = 4096 'means cursor stability Dim myConn, myRS, mySql set myConn = Server.CreateObject("ADODB.Connection") myConn.IsolationLevel = adoIsolationLevel myConn.Open "dsn=ODBCyuanyuf;uid=yuanyuf;pwd=yuank723“ Update Database update_artist.asp mySql="select * from ARTIST" Set myRs = Server.CreateObject("ADODB.Recordset") myRs.Open mySql, myConn, adoCursorType, adoLockType myRs.AddNew myRs("Name")= Request.Form("Name") myRs("Nationality")=Request.Form("Nation") myRs(“Picture")= Request.Form(“Picture") myRs.Update myRs.Close myConn.Close http://buscom.mcmaster.ca/users/yuanyuf/adoexample/drop_table.asp http://facbusad1.mcmaster.ca/users/ap1/yuanyuf/drop_table.asp Drop Table <%' Get the password and Table name from the form %> <p><% strTable=Request.Form("droptb") strPassword=Request.Form("password") %> <%' Check for username and password, if empty, show a warning message and try again%> <% IF (Len(strUsername) > 0 and Len(strPassword) > 0) THEN 'Connect to the database set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "dsn=ODBC"&strUsername&";uid="&strUsername&pwd="&strPas sword 'Drop the table if table name is provided by user IF (Len(strTable) > 0) THEN mySql = "DROP TABLE " & strTable set myRs = myConn.Execute(mySql) %> <p>Table "<%=strTable%>" was successfully dropped.</p> <% END IF %> List all the tables <% 'List all the table names in the database for the user mySql = "select table_name from information_schema.tables" set myRs = myConn.Execute(mySql) %> ADO Object Model review Page 352 Figure 13-14 © 2000 Prentice Hall ADO Object Model review Connection object RecordSet object Fields Collection Errors Collection Command object Hands on Experience 2: create your own ARTIST database Create a ARTIST table (ID, Name, Nationality, Picture), enter your own data, and upload your database to BUSCOM SQL server Connect to your own SQL database by modifying the line in ASP files: myConn.Open "dsn=ODBCyouremailname; uid=youremailname;pwd=yourstudentid” You can now access the ASP pages http://facbusad1.mcmaster.ca/users/ap1/yourname/artist.asp as well as search_artist.asp, add_artist.asp You can also using Access to check and modify your SQL database through dynamic link. Access SQL server and Web server Q drive from home You can link to SQL Server through Internet from home. Please see this site: (http://www.mcmaster.ca/uts/network/v pn/). It details how you can connect to the university's network from off-campus so that your computer can access the SQL server. You can use ftp://facbusad1.mcmaster.ca/ to access the Q driver on the facbusad1 server. The useid/password is your MacID and its password.