I would recommend the reading of the excellent The Java Tutorial, that has a very well explained section about JDBC:
http://docs.oracle.com/javase/tutorial/jdbc/index.html


and the chapter about PreparedStatements:
http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html


Regards,

Edson Richter


Em 28/01/2013 17:09, Bob Futrelle escreveu:
Thanks to Edson and Dave for lightning responses.
I'm confident that your answers will do the job.
I'll follow up on the advice AFTER I get my coffee ;-)

I'm really focused on the NLP content of my research,
but I need a DB infrastructure to do it right.
(Not a bunch of files as in ancient times.)

 --- Bob



On Mon, Jan 28, 2013 at 1:59 PM, Edson Richter <edsonrich...@hotmail.com <mailto:edsonrich...@hotmail.com>> wrote:

    You have two options:

    st.execute("insert into hello values ('bKey', "+f1()+")");

    or

    PreparedStatement st = db.prepareStatement("insert into hello
    values ('bKey', ?)");
    st.setInteger(1, f1());


    where 1 is the first parameter, 2 is the second parameter, and so on.


    Regards,

    Edson Richter



    Em 28/01/2013 16:50, Bob Futrelle escreveu:
    Here's a small, but complete code example - Bob

    package us.tsos.dbs.pg <http://us.tsos.dbs.pg>;

    import java.sql.*;

    /**
     * This is an effort to get a computed value from a Java function
     * (or data object) included properly in the VALUES entries.
     * So, how can I declare an SQL variable and set its value to
    some Java value?
     * Results viewed in pgAdmin3 with query 'select * from
    public.hello'.
     *
     * Jar in classpath is postgresql-9.2-1002.jdbc4.jar
     *
     * @version 0.1  Mon Jan 28 EST 2013
     * @author Bob Futrelle
     */

    public class JDBCVariableTest {

    Connection db;
    Statement st;
    Boolean boo;

    public static void main(String[] args) throws SQLException {

    JDBCVariableTest testIt = new JDBCVariableTest();
    testIt.helloVariables();
    }

    public int f1() { return 3;}

    public void helloVariables() throws SQLException  {

    int intVar = f1();  // OK in Java, but SQL/JDBC?

    try {
    db = DriverManager.getConnection("jdbc:postgresql:Articles",
    "robertfutrelle", "<my pw>");
    st = db.createStatement();
    boo  = st.execute("CREATE TABLE IF NOT EXISTS hello ( Name
    VARCHAR NOT NULL PRIMARY KEY, value int)");

    // Declare ....  ??
    // INSTEAD OF THE LITERAL 4 VALUE (which works)
    // how do I declare a variable and assign the f1() return value to it
    // and then include it so the value 3 appears in the inserted record?
    //st.execute("insert into hello values('aKey',4)");
    st.execute("insert into hello values('bKey',4)");
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }



    On Mon, Jan 28, 2013 at 8:39 AM, Dave Cramer <p...@fastcrypt.com
    <mailto:p...@fastcrypt.com>> wrote:

        Bob,

        Can you provide a snippet of code so I can understand what
        you mean by declare ?


        Dave Cramer

        dave.cramer(at)credativ(dot)ca
        http://www.credativ.ca


        On Mon, Jan 28, 2013 at 7:11 AM, Bob Futrelle
        <bob.futre...@gmail.com <mailto:bob.futre...@gmail.com>> wrote:

            Do the declare statements and insert all have to be done
            in one statement execute()?
            That is, what is the scope of variables I declare?
            I see a variety of syntax examples, some for older versions?
            I'm using pg 9.2.2, so what are the rules/syntax for
            declaring and using variables?

            Use case: I collect metadata from XML articles such as
            title, journalName, volume, year.  For each article I
            need to create a pg table record and insert the values
            for the various metadata items in the article.

            This is my first post to this list.

            Thanks,

             - Bob






Reply via email to