JDBC Driver for Odoo

Build 24.0.9060

Executing Statements

After Connecting from Code, you can execute SQL statements with the Statement class. See Using Prepared Statements to execute parameterized statements.

Select

To execute SQL statements that return data, use the Statement class' generic execute method or the executeQuery method. To return the results of a query, call the getResultSet method of the Statement.

The following example calls the execute method and iterates over the results returned:

Statement stat = conn.createStatement();
boolean ret = stat.execute("SELECT name, email FROM res_users");
if (ret) {
  ResultSet rs=stat.getResultSet();
  while(rs.next()) {
    for(int i=1;i<=rs.getMetaData().getColumnCount();i++) {
      System.out.println(rs.getMetaData().getColumnLabel(i) +"="+rs.getString(i));
    }
  }
}

Insert

To execute an INSERT, use the generic execute method or the executeUpdate method of the Statement class.

To obtain the generated keys for the new records, specify Statement.RETURN_GENERATED_KEYS in the method call. After executing the statement, call Statement.getGeneratedKeys. For example:

Statement stat = conn.createStatement();
int count = stat.executeUpdate("INSERT INTO res_users (name, email) VALUES ('name','email')",Statement.RETURN_GENERATED_KEYS );
ResultSet rs = stat.getGeneratedKeys();
while(rs.next()) {
  for(int i=1;i<=rs.getMetaData().getColumnCount();i++) {
    System.out.println(rs.getMetaData().getColumnLabel(i) +"="+rs.getString(i));
  }
}

Update

To execute an update, use the generic execute method or the executeUpdate method of the Statement class. You can call the getUpdateCount method to obtain the count of affected rows. Or, call the executeUpdate method; this method returns the row count. For example:

Statement stat = conn.createStatement();
stat.execute("UPDATE res_users SET name = 'XXX' , email = 'YYY' WHERE id = '12'");
int count = stat.getUpdateCount();

Delete

To execute a delete, use the generic execute method or the executeUpdate method of the Statement class. You can call the getUpdateCount method to obtain the count of affected rows. Or, call the executeUpdate method; this method returns the row count. For example:

Statement stat = conn.createStatement();
stat.execute("DELETE FROM res_users WHERE id = '12'");
int count = stat.getUpdateCount();

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060