Presentation is loading. Please wait.

Presentation is loading. Please wait.

Database Processing with JSP ISYS 350. Example: Enter CID in a box and retrieve the customer record.

Similar presentations


Presentation on theme: "Database Processing with JSP ISYS 350. Example: Enter CID in a box and retrieve the customer record."— Presentation transcript:

1 Database Processing with JSP ISYS 350

2 Example: Enter CID in a box and retrieve the customer record

3 Create a CID ListBox

4 SQL Select Command 1. Select all records from a table: SELECT * FROM tableName; 2. Select records meeting criteria: SELECT * FROM tableName WHERE criteria; 3. Select one field from a table: Ex,CID of a Customer table SELECT CID FROM CUSTOMER;

5 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 + "'";

6 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

7 1. Creating a Database: Click Services tab; 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.

8 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

9 2. Connect to the database: Right click database name

10 Connected Database

11 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

12 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

13 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:

14 Database Processing with JSP Must import java.sql using page directive: – Need a driver: – Java Derby database: – Example: String DBUrl="jdbc:derby://localhost:1527/CRM";

15 Define Database Objects to Run SQL Select Command Define a connection object: – 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);

16 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.

17 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()

18 HTML Form Enter CID: Insert title here Enter CID:

19 <% 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()); } %>

20 <% 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

21 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()); } %> Derby demo:Populate a Listbox using a ResultSet

22 Show Records in a Table using Out.print <% 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(" "); %>

23 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()); } %>

24 New Customer Data Entry Customer Data Entry Form Enter CID: Enter Name: Enter City: Enter rating:

25 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’);

26 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 + "')";

27 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);

28 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()); } %>

29 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);

30 Example: <% String CID="C1"; Cookie cookieCID = new Cookie ("cookieCID",CID); response.addCookie(cookieCID); out.println("CID cookie= " + CID + "added"); %>

31 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.

32 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()); } %>


Download ppt "Database Processing with JSP ISYS 350. Example: Enter CID in a box and retrieve the customer record."

Similar presentations


Ads by Google