// JDBC Example; LoadKids Class // Source code file LoadKids.java // Load data from space delimited // file kids.txt into the database // table kids import java.io.File; import java.io.FileNotFoundException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.util.Scanner; public class LoadKids { public static void main(String[] args) { // Define local variables. Connection c = null; Statement s = null; Scanner fromFile = null; String sql1 = null, sql2 = null; String line = null, name = null, gender = null; String[ ] fields; int age = 0; try { // Define Connection and Statement objects. Class.forName("org.sqlite.JDBC"); c = DriverManager.getConnection("jdbc:sqlite:kids2.db"); s = c.createStatement(); // Instantiate scanner to read from file. fromFile = new Scanner(new File ("kids.txt")); // Create kids table. sql1 = "create table if not exists " + "kids(kidid integer, " + "name varchar(10), " + "gender varchar(1), " + "age integer);"; System.out.println("sql1: " + sql1); s.executeUpdate(sql1); // Read and throw away header line. fromFile.nextLine( ); // Populate kids table. for (int id = 1001; fromFile.hasNextLine( ); id++) { line = fromFile.nextLine( ); fields = line.split(" "); name = fields[0].trim( ); gender = fields[1].trim( ); age = Integer.parseInt(fields[2].trim( )); sql2 = String.format( "insert into kids (kidid, name, gender, age) " + "values (%d, '%s', '%s', %d);", id, name, gender, age); System.out.println(sql2); s.executeUpdate(sql2); } // Close Connection c.close( ); } catch (FileNotFoundException e) { System.out.println("File queries.sql not found."); System.err.println( e.getClass( ).getName( ) + ": " + e.getMessage( ) ); } catch(SQLException e) { System.out.println("SQLException."); System.err.println( e.getClass( ).getName( ) + ": " + e.getMessage( ) ); } catch (ClassNotFoundException e ) { System.err.println( e.getClass().getName( ) + ": " + e.getMessage( )); } finally { fromFile.close( ); } } }