Presentation is loading. Please wait.

Presentation is loading. Please wait.

17 – Persistent data storage: relational databases and ADO

Similar presentations


Presentation on theme: "17 – Persistent data storage: relational databases and ADO"— Presentation transcript:

1 17 – Persistent data storage: relational databases and ADO

2 Session Aims & Objectives
To introduce the fundamental ideas involved in persistent data storage and relational databases Objectives, by end of this week’s sessions, you should be able to: create a relational database table create a web page (ASP) that displays data from a single table in a database using ActiveX Data Objects (ADO)

3 Persistent Data Storage
So far all programs lose data when closed Not realistic typically data stored to persistent storage device (e.g. hard disk, key drive, floppy disk, CD-RW) Use either flat files database (relational, or object oriented)

4 Example: People (Specification)
User requirement: Display list of people from database online How: Combine our knowledge of: ASP (active server pages) ADO (activeX data objects)

5 Example: People (Database)
Information organised into tables (e.g. person) fields (e.g. phone) records (e.g. 1 Dixon Mark …) Record Field Person ID Surname Forenames Phone 1 Dixon Mark 2 Smith John 3 Jones Sally 4 Bloggs Fred 5 Johnson Genny

6 Example: Music (Database)
How many fields? How many records? Track Track Title Artist Name Country Paranoid Black Sabbath UK Falling in Love Aerosmith US Pink Love in an Elevator Smooth Criminal Alien Ant Farm Meaning of Life Disturbed The Game Voices Down with the Sickness

7 Database Management Systems
DBMS provides facilities for: creating and changing databases add/remove records add/remove fields add/remove data For example: Microsoft Access dBase Borland Paradox MySQL Microsoft SQL Server Oracle home/small business large scale

8 MS Access Music database

9 ActiveX Data Objects (what & why)
ActiveX Data Objects (ADO) common database interface allow you to write code for any DBMS MS Access VB or VB Script code ADO MS SQL Server DB front end

10 ADO Record Set Object Used to interact with tables Properties Methods
BOF: true if at start of record set (before first record) EOF: true if at end of record set (after last record) Fields: used to get and set data values Methods Open: used to open record set MoveFirst: moves focus to first record MovePrevious: moves focus to previous record MoveNext: moves focus to next record MoveLast: moves focus to last record Close: closes record set

11 Using Record Sets Connection string – identify database
<% Const cs = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Music.mdb; Persist Security Info=False" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() rs.MoveNext() Loop rs.Close() rs = Nothing %> Open record set with table Move to next record Close record set

12 Connection Strings: UDL files
Generate connection strings Right click on desktop Select New, Text Document Rename to *.UDL (Yes to warning message) Double click Select provider Click Next Select or enter DB name Click Test Connection button Click OK Open with Notepad, cut & paste text

13 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb; " Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs

14 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb; " Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs

15 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb; " Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs

16 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb;" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs Dixon

17 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb;" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs Dixon Smith

18 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb;" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs Dixon Smith Jones

19 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb;" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs Dixon Smith Jones Bloggs

20 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb;" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs Dixon Smith Jones Bloggs Anderson

21 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb;" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs Dixon Smith Jones Bloggs Anderson

22 Example: People rs <%
People.aspx <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% Const cs = "Provider=…;Data Source=D:\People.mdb; " Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value) Response.Write("<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> rs Dixon Smith Jones Bloggs Anderson

23 Example: People v2 Use procedure to separate: code detail html
<script runat="server"> Const cs = "…" Sub DisplayPeople() Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value & "<br>") rs.MoveNext() Loop rs.Close() rs = Nothing End Sub </script> <html> <head><title>Personal Address Book</title></head> <body> <p><center><b><font size=+2> Personal Address Book</font></b></center> <% DisplayPeople() %> </body> </html> Use procedure to separate: code detail html

24 Tutorial Exercise: People
Task 1: Create your own People database: Open MS Access Create a new database file Create a new table Create fields Enter data Task 2: Create the People v2 asp page (as per the lecture) to display data from the database. Task 3: Modify your page so that it displays phone number as well as the person's name. Task 4: Modify your page so that the user can type a letter, and only names starting with that letter are displayed. Task 5: Modify your page so that the user can type a series of numerical digits and only phone numbers containing those digits are displayed. Task 6: Modify your page so that it displays the data in an html table Hint: use Response.Write to insert the appropriate tags.

25 Tutorial Exercise: Music
Task 1: Create your own Music Database. Task 2: Create an asp page to display data from this database. Task 3: Modify your page so that the user can type the name of an artist, and only tracks by that artist are displayed Task 4: Make your page case in-sensitive (i.e. UPPER or lower case makes no difference)


Download ppt "17 – Persistent data storage: relational databases and ADO"

Similar presentations


Ads by Google