Mark Dixon 1 20 – Persistent data storage: relational databases and ADO.
-
Upload
claire-white -
Category
Documents
-
view
221 -
download
2
Transcript of Mark Dixon 1 20 – Persistent data storage: relational databases and ADO.
Mark Dixon 2
Questions: Session variables• Write a line of VB code to put 74 into a
session variable called score.
• Write VB code that adds 1 to a variable called g, when a session variable called i is over 25.
If Session("i") > 25 Then
g = g + 1
End If
Session("score") = 74
Mark Dixon 3
Question: Self-Contained
• Are the following routines self contained?Dim g As Double
Dim w As Double
Sub Square(ByRef res As Double, ByVal n1 As Double)
res = n1 * n1
End Sub
Function u(num As Double) As Double
Return num * (w + g)
End Function
Mark Dixon 4
Admin: SQL BookGennick J (2006) SQL Pocket Guide (2nd
edition). O'Reilly.ISBN: 0-596-52688-1
Mark Dixon 5
Session Aims & Objectives• Aims
– To introduce the fundamental ideas involved in using relational databases for persistent data storage
• Objectives,by end of this week’s sessions, you should be able to:
– create a relational database table– create a web page (ASP.Net) that displays data
from a single table in a database• using ActiveX Data Objects (ADO)
– use SQL in your programs to create more complex record-sets
Mark Dixon 6
Persistent Data Storage• So far
– programs (web-pages) 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)
Mark Dixon 7
Example: People (analysis)SPECIFICATION
• User Requirements – need to have access to people's details
• Software Requirements– Functional:
–Display list of people from a database– Non-functional
should be viewable anywhere in the world
Mark Dixon 8
Record Field
Example: People (Database)
ID Surname Forenames Phone Gender
1 Dixon Mark 01752 232556 Male
2 Smith John 01752 111111 Male
3 Jones Sally 01752 888888 Female
• Information organised into– tables (e.g. person)– fields (e.g. phone)– records (e.g. 1 Dixon Mark 01752 586225 …)
Person
Mark Dixon 9
• How many fields?
• How many records?
Questions: Music (Database)
Track Title Artist Name Country
Paranoid Black Sabbath UK
Falling in Love Aerosmith US
Pink Aerosmith US
Love in an Elevator Aerosmith US
Smooth Criminal Alien Ant Farm US
Meaning of Life Disturbed US
The Game Disturbed US
Voices Disturbed US
Down with the Sickness Disturbed US
Track
9
3
Mark Dixon 10
DBMS• Database Management Systems (DBMS)
provide 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
Mark Dixon 12
ActiveX Data Objects• ActiveX Data Objects (ADO)
– common database interface• allow you to write code for any DBMS
VB.Netcode ADO
MS Access
MS SQL Server
…
…DB front end
Mark Dixon 13
Using Record Sets
Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close
Connection string – identify database
Open connection
Read next record
Close connection
Read field data
Mark Dixon 14
People.aspx
Example: People (code)<%@ Page Language="VB" %><%@ Import Namespace="System.Data.OleDb" %><script runat="server"> Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub</script>
Must include database library
Mark Dixon 15
People.aspx
Example: People (r)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
Mark Dixon 16
People.aspx
Example: People (s)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
Mark Dixon 17
People.aspx
Example: People (ExecuteReader)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Mark Dixon 18
People.aspx
Example: People (s)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Mark Dixon 19
People.aspx
Example: People (Read)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Mark Dixon 20
People.aspx
Example: People (Surname)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Dixon<br />
Mark Dixon 21
People.aspx
Example: People (Loop)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Dixon<br />
Mark Dixon 22
People.aspx
Example: People (Read)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Dixon<br />
Mark Dixon 23
People.aspx
Example: People (Surname)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Dixon<br />Dixon<br />Smith<br />
Mark Dixon 24
People.aspx
Example: People (Loop)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Dixon<br />Dixon<br />Smith<br />
Mark Dixon 25
People.aspx
Example: People (Read)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Dixon<br />Dixon<br />Smith<br />
Mark Dixon 26
People.aspx
Example: People (Surname)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Dixon<br />Dixon<br />Smith<br />Dixon<br />Smith<br />Jones<br />
Mark Dixon 27
People.aspx
Example: People (Loop)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Dixon<br />Dixon<br />Smith<br />Dixon<br />Smith<br />Jones<br />
Mark Dixon 28
People.aspx
Example: People (Read)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
s
ID Surname Forenames Phone gender1 Dixon Mark 01752 232556 Male2 Smith John 01752 111111 Male3 Jones Sally 01752 888888 Female
Dixon<br />Dixon<br />Smith<br />Dixon<br />Smith<br />Jones<br />
Mark Dixon 29
People.aspx
Example: People (Close)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
sDixon<br />Dixon<br />Smith<br />Dixon<br />Smith<br />Jones<br />
Mark Dixon 30
People.aspx
Example: People (Display)r
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
sDixon<br />Dixon<br />Smith<br />Dixon<br />Smith<br />Jones<br />
Mark Dixon 31
Countries.aspx
Example: Countries Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath(“Countries.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Country;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r(“Name") Loop cn.Close parData.InnerHtml = s End Sub
Need data on separate lines
html by handput br tags between data <br />
Mark Dixon 32
Countries.aspx
Example: Countries (error) Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath(“Countries.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Country;", cn) cn.Open() r = cmd.ExecuteReader() s = <br /> Do While r.Read() s = s & r(“Name") Loop cn.Close parData.InnerHtml = s End Sub
Need data on separate lines
Try putting br tag here
VB does not understand html
Mark Dixon 33
Countries.aspx
Example: Countries Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath(“Countries.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Country;", cn) cn.Open() r = cmd.ExecuteReader() s = "<br />" Do While r.Read() s = s & r(“Name") Loop cn.Close parData.InnerHtml = s End Sub
• Need double quotes around tag
• (VB sees html as literal string)
runs, but br in wrong place
Mark Dixon 34
Countries.aspx
Example: Countries Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath(“Countries.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Country;", cn) cn.Open() r = cmd.ExecuteReader() s = "<br />" Do While r.Read() s = s & r(“Name") Loop cn.Close parData.InnerHtml = s End Sub
Move br tag inside loop.
Which bit of code pulls datafrom database?
Mark Dixon 35
Countries.aspx
Example: Countries Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath(“Countries.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Country;", cn) cn.Open() r = cmd.ExecuteReader() s = "<br />" Do While r.Read() s = s & r(“Name") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub
Move br tag inside loop.after field data
View Source
Mark Dixon 36
Embedding html in VB• html must be string (inside double quotes)
• follows normal pattern for expressions:
data
operator
data data data
operator operator
s = s + "<b>" + r("Name") + "</b>"
Mark Dixon 37
Embedding html in VB (errors)
s = s + "<i>" r("Gender") + "</i>"
missing operator
s = s + rs("Height") + </i>"
missing double quote
s = s + <ul> + r("Height")
html tag must be inside double quotes
s = s + "<ul>" + r("<b>Height")
looks for field in database called <b>Height
Mark Dixon 38
Questions: HTML in VB• Are these correct (assume variables and
fields exist)?
g = g + rs("Surname<br />")
h = h + "<ol>" r("Width")
a = "<p>" + a + "</p>"
html = html + "<img src=‘face.gif’ />"
h = <table> + h + "</table>"
Mark Dixon 39
Example: People v2
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim s As String cmd = New OleDbCommand("SELECT * FROM Person;", cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() If r("Gender") = True Then s = s & r("Surname") & "<br />" End If Loop cn.Close parData.InnerHtml = s End Sub
• Display Surname of Male people:
Mark Dixon 40
Example: People v3• Display Surname of Male people:
Sub Page_Load() Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=" + Server.MapPath("People.accdb") + ";" Dim cn As New OleDbConnection(cs) Dim cmd As OleDbCommand Dim r As OleDbDataReader Dim sql As String = "SELECT * FROM Person WHERE Gender = True;" Dim s As String cmd = New OleDbCommand(sql, cn) cn.Open() r = cmd.ExecuteReader() s = "" Do While r.Read() s = s & r("Surname") & "<br />" Loop cn.Close parData.InnerHtml = s End Sub SQL statement
Mark Dixon 41
SQL: Queries• main purpose of databases:
– get information back out: searching
• Structured Query Language– dedicated to interacting with databases
• 3rd Generation Language (such as VB, C#)– code describes how to do task
• 4th Generation Language (such as SQL)– code describes what to do (not how to do it)
Mark Dixon 42
SQL: SELECT statement• SELECT statement
– used to get data– can be embedded in VB, via:
–…v = "SELECT * FROM [Person]"...cmd = New OleDbCommand(v, cn)
all fields
Mark Dixon 43
SQL: WHERE & ORDER BY• WHERE clause
– used to restrict data
SELECT * FROM [People] WHERE [age]>=18;
• ORDER BY clause– used to change order of data
SELECT * FROM [People] ORDER BY [Surname];
Mark Dixon 44
SQL: strings (text data)• Possible confusion:
SELECT * FROM Person WHERE Surname = Smith
this will look for field called Smith - gives error need single (SQL) quotes to signify literal text SELECT * FROM Person WHERE Surname = 'Smith'
Mark Dixon 45
SQL & MS access queries• MS Access
– Queries: select data from database– really SQL select statements– can use queries to test SQL code
Mark Dixon 46
Questions: SQL• Create an SQL
statement to extract Track Title of records by Aerosmith
Track Title Artist Name Country
Paranoid Black Sabbath UK
Falling in Love Aerosmith US
Pink Aerosmith US
Love in an Elevator Aerosmith US
Smooth Criminal Alien Ant Farm
US
Meaning of Life Disturbed US
The Game Disturbed US
Voices Disturbed US
Down with the Sickness
Disturbed US
Track
SELECT [Track Title] FROM Track WHERE [Artist Name] = 'Aerosmith';
Mark Dixon 47
Questions: SQL• Create an SQL
statement to extract all fields of songs by Disturbed, ordered by track name
Track Title Artist Name Country
Paranoid Black Sabbath UK
Falling in Love Aerosmith US
Pink Aerosmith US
Love in an Elevator Aerosmith US
Smooth Criminal Alien Ant Farm
US
Meaning of Life Disturbed US
The Game Disturbed US
Voices Disturbed US
Down with the Sickness
Disturbed US
Track
SELECT * FROM Track WHERE [Artist Name] = 'Disturbed' ORDER BY [Track Title];
Mark Dixon 49
SQL: DISTINCT records
SELECT [Artist Name]FROM [Track];
Artist Name
Black Sabbath
Aerosmith
Aerosmith
Aerosmith
Alien Ant Farm
Disturbed
Disturbed
Disturbed
Disturbed
Artist Name
Black Sabbath
Aerosmith
Alien Ant Farm
Disturbed
SELECT DISTINCT [Artist Name]FROM [Track];
Mark Dixon 50
Access Driver (for 32bit Office)• http://www.microsoft.com/en-gb/download/
details.aspx?id=13255
Mark Dixon 51
Access Driver (for 64bit Office)• http://www.microsoft.com/en-gb/download/
details.aspx?id=23734
Mark Dixon 52
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: Get the People v1 example (from the lecture) working.• 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 it displays the data in an html table.• Task 5: Modify your page so that records for males are displayed in blue, and
records for females are displayed in red.• Task 6: Modify your page as per version 4. You will need to:
– Add a form to the page, and three submit buttons– In your code, detect when a button has been pressed (have a look at
previous weeks)• Task 7: Modify your page so that the user can type a letter, and only names
starting with that letter are displayed.• Task 8: Modify your page so that the user can type a series of numerical digits
and only phone numbers containing those digits are displayed.• Task 9: Modify your code so that the user can order the data by surname, or
email address (You may want to use a Query String)