Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mark Dixon Page 1 21 – Web applications: Writing data to Databases using ASP.

Similar presentations


Presentation on theme: "Mark Dixon Page 1 21 – Web applications: Writing data to Databases using ASP."— Presentation transcript:

1 Mark Dixon Page 1 21 – Web applications: Writing data to Databases using ASP

2 Mark Dixon Page 2 Session Aims & Objectives Aims –To introduce the fundamental ideas involved in using server-side code to write data to databases Objectives, by end of this week’s sessions, you should be able to: –create an ASP web page that allows the user to store data in database

3 Mark Dixon Page 3 Searching for Data Recordset methods –Find: searches for the next record to match given criteria string: e.g. "Name = 'Smith' " ( " are for VB string) ( ' are for database string)

4 Mark Dixon Page 4 Example: Person v1 (Specification) User requirement: –Display person’s details from database online, and be able to move to next and previous person (record) Problem: –Can’t use.MoveNext and.MovePrev recordset methods: record set does not persist between pages

5 Mark Dixon Page 5 Example: Person v1 (html) Person's Details Person's Details <% ' ASP code will go here (next slide). %> Self post

6 Mark Dixon Page 6 Example: Person v1 (ASP) <% Const adOpenDynamic = 3 Const cs = "…" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs, adOpenDynamic ) If Session("curID") <> "" Then rs. Find ( "[ID] = " & Session("curID")) If Request.Form("btnPrev") <> "" Then rs. MovePrevious() ElseIf Request.Form("btnNext") <> "" Then rs. MoveNext() End If Session("curID") = rs.Fields("ID").Value Response.Write( rs.Fields("Surname").Value & " ") Response.Write( rs.Fields("Forenames").Value) rs.Close() rs = Nothing %> Button value empty unless button was pressed Use session variable to record current position in db

7 Mark Dixon Page 7 Example: Person v2 (Specification) User requirement: Display person’s details from database online, and be able to move to next and previous person (record) –Change surname and save to database

8 Mark Dixon Page 8 Database Permissions 1 In order for ASP to write to a database –Need to give write access to Internet Guest Account for database file (People.mdb) Right-click on file in Windows Explorer (the following screens are for Windows 2000)

9 Mark Dixon Page 9 Database Permissions 2 Click Security tab Click Add button

10 Mark Dixon Page 10 Database Permissions 3 Select Internet Guest Account IUSR_ … Click Add button Click OK button

11 Mark Dixon Page 11 Database Permissions 4 Select Internet Guest Account Ensure write access is on

12 Mark Dixon Page 12 Writing data to a database create recordset open recordset –dynamic cursor (3), pessimistic locking (3) to add a record –use to AddNew method rs.AddNew to delete a record –use the Delete method rs.Delete to change existing data –assign a new value to fields rs.Fields("Surname").Value = "Fred"

13 Mark Dixon Page 13 Changing Data Recordset methods –AddNew: inserts a new record and makes it current –Update: sends changes back to DB –Delete: deletes currently selected record

14 Mark Dixon Page 14 Example: Person v2 (html) Person's Details Person's Details <% ' ASP code will go here (next slide). %> Surname: " > PersonEdit.aspx

15 Mark Dixon Page 15 Example: Person v2 (ASP) <% Const cs = "…" Dim rs Dim Surname rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs, 3, 3) If Session("curID") <> "" Then rs.Find("[ID] = " & Session("curID")) If Request.Form("btnPrev") <> "" Then rs.MovePrevious() ElseIf Request.Form("btnNext") <> "" Then rs.MoveNext() ElseIf Request.Form("btnSave") <> "" Then rs. Fields("Surname") = Request.Form("txtSurname") rs. Update() End If Session("curID") = rs.Fields("ID").Value Surname = rs.Fields("Surname").Value rs.Close() rs = Nothing %>

16 Mark Dixon Page 16 Example: Phone Book (database) Person IDSurnameForenamesPhoneNum 1DixonMark01752 232556 2JonesSally01752 111111 3SmithAlex01752 222222

17 Mark Dixon Page 17 Example: Phone Book (screen)

18 Mark Dixon Page 18 Tutorial Exercise: Person v1 Task 1: Get the Person (v1) example from the lecture working. Task 2: Modify your code, so that all fields are displayed. Task 3: Modify your code, so that it does not generate an error when the user goes past the end or beginning of the recordset.

19 Mark Dixon Page 19 Tutorial Exercise: Person v2 Task 1: Get the Person (v2) example from the lecture working. Task 2: Modify your code, so that a line of text is displayed confirming that data has been saved.

20 Mark Dixon Page 20 Tutorial Example: Phone Book Task 1: Get the Phone Book example from the lecture working. Task 2: Add a button on your page that jumps to another page, which allows a new record to be added. Task 3: Modify your code, so that each line (record) has a link leading to another page that allows the data to be edited. Task 4: Modify your code, so that each line (record) has a link leading to another page that allows the record to be deleted.


Download ppt "Mark Dixon Page 1 21 – Web applications: Writing data to Databases using ASP."

Similar presentations


Ads by Google