5.9 LAB - Database programming with Java (SQLite)   Complete the Java program to create a Horse table, insert one row, and display the row. The main program calls four methods: createConnection() creates a connection to the database. createTable() creates the Horse table. insertHorse() inserts one row into Horse. selectAllHorses() outputs all Horse rows. Complete all four methods. Method parameters are described in the template. Do not modify the main program. The Horse table should have five columns, with the following names, data types, constraints, and values: Name Data type Constraints Value Id integer primary key, not null 1 Name text   'Babe' Breed text   'Quarter horse' Height double   15.3 BirthDate text   '2015-02-10' The program output should be: All horses: (1, 'Babe', 'Quarter Horse', 15.3, '2015-02-10') This lab uses the SQLite database rather than MySQL. Both SQLite and MySQL Connector/J implement the JDBC API. Consequently, the API is as described in the text, with a few exceptions: Use the connection string "jdbc:sqlite::in-memory" to connect to an in-memory database. Use the text data type instead of char and varchar. SQLite reference information can be found at SQLite Java Tutorial, but is not necessary to complete this lab.   here is my code:  import java.sql.*; public class LabProgram {         // Create a connection to a sqlite in-memory database    // Returns Connection object    public static Connection createConnection() {       // YOUR CODE HERE       // Use connection string "jdbc:sqlite::memory:"       Connection connection = null;       try {           connection = DriverManager.getConnection("jdbc:sqlite::memory:");       } catch (SQLExcepton ex) {           System.out.println(ex.getMessage());       }       return connection;        }    // Create Horse table    // Parameter conn is database connection created in createConnection()    public static void createTable(Connection conn) {             // YOUR CODE HERE       String sql = "CREATE TABLE HORSE ("                +  "  ID         INTEGER PRIMARY KEY,"                +  "  NAME       TEXT,"                +  "  BREED      TEXT,"                +  "  HEIGHT     REAL,"                +  "  BIRTHDATE  TEXT"                +  ")";       try {             Statement statement = conn.createStatement();             statement.execute(sql);       }  catch (SQLExeption ex) {             System.out.println(ex.getMessege());       }    }    // Insert row into Horse table using a parameterized query    // Parameter conn is database connection created in createConnection()    // Parameters id, name, breed, height, and birthDate contain values to be inserted      public static void insertHorse(Connection conn, int id, String name, String breed, double height, String birthDate) {             // YOUR CODE HERE       String sql = "INSWET INTO HORSE VALUES (,?,?,?,?,?)";       try {           PreparedStatement pSql = conn.prepareStatement(sql);           pSql.setInt(1, id);           pSql.setString(2, name);           pSql.setString(3, breed);           pSql.setDouble(4, height);           pSql.setString(5, birthDate);           pSql.execute();       } catch (SQLExeption ex) {          System.out.pringln(ex.getMessage());       }    }    // Select and print all rows of Horse table    // Parameter conn is database connection created in createConnection()    public static void selectAllHorses(Connection conn) {             // YOUR CODE HERE       String sql = "SELECT * FROM HORSE";       try {           Statement statement = conn.createStatement();           ResultSet resultSet = statement.executeQuery(sql);           System.out.printf("%-5s%-15s%-15s%-10s%-10s\n", "ID", "NAME", "BREED", "HEIGHT", "BIRTH DATE");           System.out.printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");                      while (resultSet.next()) {              int id = resultsSet.getInt("ID");              String name = resultSet.getString("NAME");              String breed = resultSet.getString("BREED");              double height = resultSet.getDouble("HEIGHT");              string birthDate = resultSet.getString("BIRTHDATE");              System.out.printf("%-5s%-15s%-15s%-10s%-10s\n",                id, name, breed, height, birthDate);           }           System.out.printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");       } catch (SQLException ex) {          System.out.pringln(ex.getMessage());       }                 }         // DO NOT MODIFY main    public static void main(String[] args) {       // Create connection to sqlite in-memory database       Connection conn = createConnection();       // Create Horse table       createTable(conn);       // Insert row into Horse table       insertHorse(conn, 1, "Babe", "Quarter Horse", 15.3, "2015-02-10");       // Select and print all Horse table rows       selectAllHorses(conn);    } }

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter10: Object-oriented Programming
Section: Chapter Questions
Problem 20RQ
icon
Related questions
Question

5.9 LAB - Database programming with Java (SQLite)

 

Complete the Java program to create a Horse table, insert one row, and display the row. The main program calls four methods:

  1. createConnection() creates a connection to the database.
  2. createTable() creates the Horse table.
  3. insertHorse() inserts one row into Horse.
  4. selectAllHorses() outputs all Horse rows.

Complete all four methods. Method parameters are described in the template. Do not modify the main program.

The Horse table should have five columns, with the following names, data types, constraints, and values:

Name Data type Constraints Value
Id integer primary key, not null 1
Name text   'Babe'
Breed text   'Quarter horse'
Height double   15.3
BirthDate text   '2015-02-10'

The program output should be:

All horses: (1, 'Babe', 'Quarter Horse', 15.3, '2015-02-10')

This lab uses the SQLite database rather than MySQL. Both SQLite and MySQL Connector/J implement the JDBC API. Consequently, the API is as described in the text, with a few exceptions:

  • Use the connection string "jdbc:sqlite::in-memory" to connect to an in-memory database.
  • Use the text data type instead of char and varchar.

SQLite reference information can be found at SQLite Java Tutorial, but is not necessary to complete this lab.

 

here is my code: 

import java.sql.*;

public class LabProgram {
    
   // Create a connection to a sqlite in-memory database
   // Returns Connection object
   public static Connection createConnection() {

      // YOUR CODE HERE
      // Use connection string "jdbc:sqlite::memory:"
      Connection connection = null;
      try {
          connection = DriverManager.getConnection("jdbc:sqlite::memory:");
      } catch (SQLExcepton ex) {
          System.out.println(ex.getMessage());
      }
      return connection;
   

   }

   // Create Horse table
   // Parameter conn is database connection created in createConnection()
   public static void createTable(Connection conn) {
     
      // YOUR CODE HERE
      String sql = "CREATE TABLE HORSE ("
               +  "  ID         INTEGER PRIMARY KEY,"
               +  "  NAME       TEXT,"
               +  "  BREED      TEXT,"
               +  "  HEIGHT     REAL,"
               +  "  BIRTHDATE  TEXT"
               +  ")";
      try {
            Statement statement = conn.createStatement();
            statement.execute(sql);
      }  catch (SQLExeption ex) {
            System.out.println(ex.getMessege());
      }
   }

   // Insert row into Horse table using a parameterized query
   // Parameter conn is database connection created in createConnection()
   // Parameters id, name, breed, height, and birthDate contain values to be inserted  
   public static void insertHorse(Connection conn, int id, String name, String breed, double height, String birthDate) {
     
      // YOUR CODE HERE
      String sql = "INSWET INTO HORSE VALUES (,?,?,?,?,?)";
      try {
          PreparedStatement pSql = conn.prepareStatement(sql);
          pSql.setInt(1, id);
          pSql.setString(2, name);
          pSql.setString(3, breed);
          pSql.setDouble(4, height);
          pSql.setString(5, birthDate);
          pSql.execute();
      } catch (SQLExeption ex) {
         System.out.pringln(ex.getMessage());
      }
   }

   // Select and print all rows of Horse table
   // Parameter conn is database connection created in createConnection()
   public static void selectAllHorses(Connection conn) {
     
      // YOUR CODE HERE
      String sql = "SELECT * FROM HORSE";
      try {
          Statement statement = conn.createStatement();
          ResultSet resultSet = statement.executeQuery(sql);
          System.out.printf("%-5s%-15s%-15s%-10s%-10s\n", "ID", "NAME", "BREED", "HEIGHT", "BIRTH DATE");
          System.out.printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");
          
          while (resultSet.next()) {
             int id = resultsSet.getInt("ID");
             String name = resultSet.getString("NAME");
             String breed = resultSet.getString("BREED");
             double height = resultSet.getDouble("HEIGHT");
             string birthDate = resultSet.getString("BIRTHDATE");
             System.out.printf("%-5s%-15s%-15s%-10s%-10s\n",
               id, name, breed, height, birthDate);
          }
          System.out.printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");
      } catch (SQLException ex) {
         System.out.pringln(ex.getMessage());
      }
            
   }
    
   // DO NOT MODIFY main
   public static void main(String[] args) {

      // Create connection to sqlite in-memory database
      Connection conn = createConnection();

      // Create Horse table
      createTable(conn);

      // Insert row into Horse table
      insertHorse(conn, 1, "Babe", "Quarter Horse", 15.3, "2015-02-10");

      // Select and print all Horse table rows
      selectAllHorses(conn);
   }
}

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr