CS 318 - Week 8 Lecture - 3-13-13
Intro to JDBC, continued

*   we know that the Statement class's executeQuery method
    is used to executing SQL that produces tabular results;

*   you use a different method, executeUpdate,
    for SQL statements that DON'T return tabular
    data;

    insert, update, deletes, create table, drop table, etc.

    *   see UpdateLog.java

*   METADATA - data about the data --
    JDBC provides MANY tools for this

    ResultSetMetaData class is a main player here

    *   see SpewTableColumns.java

*   PreparedStatement

    *  NOTE -- an important weapon in the fight against
       SQL Injection...

    *  when you are doing several similar SQL statements,
       a PreparedStatement is a MUCH more efficient choice
       than a statement;

       *   (set-up is done just once, etc.)

*   for calling stored procedures and stored functions,
    you use a CallableStatement

    *   see StoredProcCall.java and CallHowMany.java

    *   also see InOutParam.java for an example of calling a stored
        function with IN OUT parameters