Download presentation
Presentation is loading. Please wait.
Published byRolf Stokes Modified over 8 years ago
1
Database Processing with JSP ISYS 350
2
Database Applications Applications Database Server Queries/Updates Results
3
Database: Customer table Fields: CID, Cname, City, Rating Example: Enter CID in a box and retrieve the customer record
4
Create a CID ListBox
5
SQL Select Command 1. Select all records from a table: SELECT * FROM tableName; Ex. SELECT * FROM customer; 2. Select records meeting criteria: SELECT * FROM tableName WHERE criteria; Ex. SELECT * FROM customer WHERE city=‘SF’; 3. Select one field from a table: Ex,CID of the Customer table SELECT CID FROM CUSTOMER; 3. Select a few fields from a table: Ex,CID, Cname of the Customer table Ex. SELECT CID, Cname FROM customer;
6
Creating a String Containing SQL Select Command Assuming the CID is entered in a HTML textbox named “cid” or selected from a HTML listbox named “cid”: String myCIDS, strSQL; myCid=request.getParameter("cid"); strSQL="select * from customer where cid='" + myCid + "'";
7
Creating a Java DB (Derby) Database with NetBeans Tutorial: – http://netbeans.org/kb/docs/ide/java- db.html#starting http://netbeans.org/kb/docs/ide/java- db.html#starting
8
1. Creating a Database: Click Services tab; open databases node; right click Java DB and select Start Server; then select Create Database Note: You may leave username and password blank or assign a name and password.
9
Difference between with Username and No username No username: Create table in the App folder With username: create table in the default username’s folder
10
2. Connect to the database: Right click database name
11
Connected Database
12
3. Creating a New Table: Open the App folder, and: 1. Right click Tables and select create table 2. Enter Table name 3. Click Add column to define field
13
Create a New Table Table name: Customer Fields: – CID: Type – CHAR with size 5; primary key – Cname: Type – CHAR with size 20 – City:Type – CHAR with size 20 – Rating: Type – CHAR with size 1
14
To insert records to a table: Right-click the table name and select View Data From the record view window, click the Insert Record button: Note: Click Add Row to continue adding new row; click OK after entering the last row.
15
Database Processing with JSP Java Database Connectivity (JDBC) is an application program interface (API) specification for connecting programs written in Java to the data in popular databases. Must import java.sql using page directive: – Need a database driver: – Java Derby database: jdbc:derby
16
Define a connection string A connection string is a string that specifies information about a data source and the means of connecting to it. It is passed in code to an underlying driver or provider in order to initiate the connection. Example: – DBUrl="jdbc:derby://localhost:1527/CRM";
17
Define Database Objects to Run SQL Select Command Define a connection object using the connection string: – No password: connection = DriverManager.getConnection(DBUrl); – With password: connection = DriverManager.getConnection(DBUrl,"dchao","dchao"); Define a SQL Statement object: – Statement SQLStatement = connection.createStatement(); SQL Statement object’s executeQuery method: – executeQuery: This method executes SQL Select statement and create a resultset object: – Example: strSQL="select * from customer where cid='" + myCid + "'"; ResultSet rs = SQLStatement.executeQuery(strSQL);
18
JDBC ResultSet The rows that satisfy a particular query are called the result set. The number of rows returned in a result set can be zero or more. A user can access the data in a result set using a cursor one row at a time from top to bottom. A cursor can be thought of as a pointer to the rows of the result set that has the ability to keep track of which row is currently being accessed.
19
ResultSet Methods Next() : Returns true if the cursor is now positioned on a row and false if the cursor is positioned after the last row. previous() first() last()
20
Example 1: Result set contains at most one record (selecting record based on primary key) Insert title here Enter CID:
21
<% Connection connection = null; String DBUrl="jdbc:derby://localhost:1527/CRM5"; try { String myCid, strSQL, Cname, City, Rating; connection = DriverManager.getConnection(DBUrl,"dchao","dchao"); Statement SQLStatement = connection.createStatement(); myCid=request.getParameter("mycid"); strSQL="select * from customer where cid='" + myCid + "'"; ResultSet rs = SQLStatement.executeQuery(strSQL); if (rs.next()) { Cname=rs.getString("CNAME"); City=rs.getString("CITY"); Rating=rs.getString("Rating"); rs.close(); out.println("Cname: "); out.println("City: "); out.println("Rating: "); } else { out.println("Customer not exist!"); } rs.close(); } catch(SQLException e) { out.println("Something wrong"); out.println(e.getMessage()); } %>
22
<% Connection connection = null; String DBUrl="jdbc:derby://localhost:1527/CRM5"; try { String myCid, strSQL, Cname, City, Rating; connection = DriverManager.getConnection(DBUrl,"dchao","dchao"); Statement SQLStatement = connection.createStatement(); myCid=request.getParameter("mycid"); strSQL="select * from customer where cid='" + myCid + "'"; ResultSet rs = SQLStatement.executeQuery(strSQL); if (rs.next()) { Cname=rs.getString("CNAME"); City=rs.getString("CITY"); Rating=rs.getString("Rating"); rs.close(); %> Cname: "> City: "> Rating: "> <% } else { out.println("Customer not exist!"); rs.close(); } catch(SQLException e) { out.println("Something wrong"); out.println(e.getMessage()); } %> Jdbc:derby demoUsing JSPexpression
23
Select CID: <% Connection connection = null; String DBUrl="jdbc:derby://localhost:1527/CRM5"; try { String myCid, strSQL; connection = DriverManager.getConnection(DBUrl,"dchao","dchao"); Statement SQLStatement = connection.createStatement(); strSQL="select cid from customer"; ResultSet rs = SQLStatement.executeQuery(strSQL); while (rs.next()) { myCid=rs.getString("cid"); out.println(" " + myCid + " "); } catch(SQLException e) { out.println(e.getMessage()); } %> Example 2: Result set contains many keys Populate a Listbox using a ResultSet
24
Example 3: Result set contains many records Show Records in a Table <% Connection connection = null; String DBUrl="jdbc:derby://localhost:1527/CRM5"; try { String Cid, strSQL, Cname, City, Rating; connection = DriverManager.getConnection(DBUrl,"dchao","dchao"); Statement SQLStatement = connection.createStatement(); strSQL="select * from customer"; ResultSet rs = SQLStatement.executeQuery(strSQL); out.println(" "); out.println(" CID Cname City Rating "); out.println(" "); while (rs.next()) { Cid=rs.getString("CID"); Cname=rs.getString("CNAME"); City=rs.getString("CITY"); Rating=rs.getString("Rating"); out.println(" "); out.println(" " + Cid + " "); out.println(" " + Cname + " "); out.println(" " + City + " "); out.println(" " + Rating + " "); out.println(" "); } rs.close(); } catch(SQLException e) { out.println(e.getMessage()); } out.println(" "); %>
25
Derby demo:Show Records in a Table using JSP Expression <% Connection connection = null; String DBUrl="jdbc:derby://localhost:1527/CRM5"; try { String Cid, strSQL, Cname, City, Rating; connection = DriverManager.getConnection(DBUrl,"dchao","dchao"); Statement SQLStatement = connection.createStatement(); strSQL="select * from customer"; ResultSet rs = SQLStatement.executeQuery(strSQL); %> CID Cname City Rating <% while (rs.next()) { Cid=rs.getString("CID"); Cname=rs.getString("CNAME"); City=rs.getString("CITY"); Rating=rs.getString("Rating"); %> <% } rs.close(); } catch(SQLException e) { out.println(e.getMessage()); } %>
26
New Customer Data Entry Customer Data Entry Form Enter CID: Enter Name: Enter City: Enter rating:
27
SQL Insert Command INSERT INTO tableName VALUES (field values separated by commas); Ex 1. Customer table with CID, CNAME, CITY, RATING. INSERT INTO CUSTOMER VALUES (‘C1’, ‘SMITH’, ‘SF’, ‘A’); Ex 2. Orders table with OID, OrderDate, CID, SalesPerson INSERT INTO ORDERS VALUES (‘O11’, ‘9/28/02’, ‘C1’, ‘Peter’);
28
Creating A String Containing SQL Insert Command myCid=request.getParameter("cid"); myCname=request.getParameter("cname"); myCity=request.getParameter("city"); myRating=request.getParameter("rating"); strSQL = "Insert into Customer values ('"; strSQL += myCid + "','" + myCname + "','"; strSQL += myCity + "','" + myRating + "')";
29
SQL Statement Object’s executeUpdate Method to Run SQL Insert Statement executeUpdate: This method executes SQL Insert, Delete and Update statement and returns the number of records affected by the statement. Example: strSQL = "Insert into Customer values ('"; strSQL += myCid + "','" + myCname + "','"; strSQL += myCity + "','" + myRating + "')"; int Count; Count=SQLStatement.executeUpdate(strSQL);
30
Insert a New Record <% Connection connection = null; String DBUrl="jdbc:derby://localhost:1527/CRM5"; try { String myCid, strSQL, myCname, myCity, myRating; connection = DriverManager.getConnection(DBUrl,"dchao","dchao"); Statement SQLStatement = connection.createStatement(); myCid=request.getParameter("mycid"); myCname=request.getParameter("cname"); myCity=request.getParameter("city"); myRating=request.getParameter("rating"); strSQL = "Insert into Customer values ('"; strSQL += myCid + "','" + myCname + "','"; strSQL += myCity + "','" + myRating + "')"; int Count; Count=SQLStatement.executeUpdate(strSQL); if (Count==1) out.println("Insertion sucessful"); } catch(SQLException e) { out.println(e.getMessage()); } %>
31
Cookie Cookie is a small data file added by a website to reside in user’s system. Define a cookie: – new Cookie(“Key”, “value”); – Ex. Cookie cookieCID = new Cookie ("cookieCID",CID); Write a cookie: – response.addCookie(cookieCID);
32
Example: <% String CID="C1"; Cookie cookieCID = new Cookie ("cookieCID",CID); response.addCookie(cookieCID); out.println("CID cookie= " + CID + "added"); %>
33
Reading Cookies <% Cookie[] cookies = request.getCookies(); out.println(cookies[0].getName() + cookies[0].getValue() + " "); %> Use request.getCookies() method. This method retrieve cookies and return them in an array.
34
Reading Cookie and Customer Record <% try{ String myCid, strSQL, Cname, City, Rating; Cookie[] cookies = request.getCookies(); myCid=cookies[0].getValue(); Connection connection = null; String DBUrl="jdbc:derby://localhost:1527/CRM5"; connection = DriverManager.getConnection(DBUrl,"dchao","dchao"); Statement SQLStatement = connection.createStatement(); strSQL="select * from customer where cid='" + myCid + "'"; ResultSet rs = SQLStatement.executeQuery(strSQL); if (rs.next()) { Cname=rs.getString("CNAME"); City=rs.getString("CITY"); Rating=rs.getString("Rating"); rs.close(); %> Cname: "> City: "> Rating: "> <% } else { out.println("Customer not exist!"); rs.close(); } catch(SQLException e) { out.println(e.getMessage()); } %>
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.