1 / 20

Lec - 15

Lec - 15. More on JDBC. Example Code. Executing SQL DML statements. Useful Statement Methods (N-I). executeQuery Executes the SQL query and returns the data in a table (ResultSet) The resulting table may be empty but never null ResultSet rs = stmt.executeQuery(“select * from table");.

gay-moses
Download Presentation

Lec - 15

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lec - 15

  2. More on JDBC

  3. Example Code Executing SQL DML statements

  4. Useful Statement Methods (N-I) • executeQuery • Executes the SQL query and returns the data in a table (ResultSet) • The resulting table may be empty but never null ResultSet rs = stmt.executeQuery(“select * from table"); JDBC

  5. Example Code 15.1Executing SQL DML Statements /* This progarm will take two command line argument that are used to update records in the database */ import java.sql.*; //step 1 public class JdbcDmlEx { public static void main (String args [ ]){ try { //steps 2 to 5 Class.forName(“driver name”); Connection con=null; con = DriverManager.getConnection(url, usr, pwd); Statement st = con.createStatement(); JDBC

  6. Example Code 15.1Executing SQL DML Statements (cont.) //Step 6: Execute the Query / DML String addVar = args[0]; String nameVar = args[1]; String sql = “UPDATE Person ” + “ SET address = ‘ “ + addVar + ” ’ ” + “ WHERE name = ‘ “ + nameVar + ” ’ ” ; int num = st.executeUpdate(sql); //Step 7: Process the results of the query System.out.println(num + “ records updated”); JDBC

  7. Example Code 15.1 Executing SQL DML Statements (cont.) //Step 8: close the connection con.close(); }catch (Exception sqlEx) { System.out.println(sqlEx); } } //end main }//end class JDBC

  8. Compile & Execute Before execution After execution JDBC

  9. Useful Statement Methods (Continued) • getMaxRows( ) / setMaxRows(int) • Determines the number of rows a ResultSet may contain • Unless explicitly set, the number of rows are unlimited (return value of 0) • getQueryTimeout( ) / setQueryTimeout(int) • Specifies the amount of a time (seconds) a driver will wait for a STATEMENT to complete before throwing a SQLException JDBC

  10. Different Types of Statements • Overview • Through the Statement object, SQL statements are sent to the database. • Three types of statement objects are available: • Statement • for executing a simple SQL statements • PreparedStatement • for executing a precompiled SQL statement passing in parameters • CallableStatement • for executing a database stored procedure JDBC

  11. Prepared Statements

  12. Prepared Statements (Precompiled Queries) • Idea • If you are going to execute similar SQL statements multiple times, using “prepared” (parameterized)statements can be more efficient • Create a statement in standard form that is sent to the database for compilation before actually being used • Each time you use it, you simply replace some of the marked parameters (?) using some set methods JDBC

  13. Prepared Statement, Example PreparedStatement pStmt = con.prepareStatement("UPDATE tableName " + “SET columnName = ? " + “WHERE columnName = ?"); • First marked parameter(?) has index 1. pStmt.setString(1, stringValue); pStmt.setInt (2, intValue); pStmt.executeUpdate(); JDBC

  14. Example Code Using Prepared Statements

  15. Example Code: Modify JdbcDmlEx.java15.1Executing Prepared Statements /* Modification to the last example code 15.1, to show the usage of prepared statements */ import java.sql.*; // step1 public class JdbcDmlEx { public static void main (String args [ ]){ try { //steps 2 to 4 Class.forName(“driver name”); Connection con=null; con = DriverManager.getConnection(url, usr, pwd); JDBC

  16. Example Code: Modify JdbcDmlEx.java15.1Executing Prepared Statements //Step 5: Create the statement PreparedStatement pStmt = null; String sql = “UPDATE Person SET address = ? WHERE name = ? ” ; pStmt = con.prepareStatement(sql); //Step 6: Execute the Query String addVar = args[0]; String nameVar = args[1]; pStmt.setString(1 , addVar); pStmt.setString(2, nameVar); // sql = “UPDATE Person SET address = “defence” WHERE name = “ali” ” int num = pStmt.executeUpdate(); JDBC

  17. Example Code: Modify JdbcDmlEx.java15.1Executing Prepared Statements //Step 7: Process the results of the query System.out.println(num + “ records updated”); //Step 8: close the connection }catch (Exception sqlEx) { ……….. } } //end main }//end class JDBC

  18. Compile & Execute Before execution After execution JDBC

  19. Result Set

  20. 0 1 2 3 id 1 2 3 Name ali usman raza Address model town gulberg defence phoneNum 9203256 8219065 5173946 ResultSet Row numbers ResultSet JDBC

More Related