[SQL] Oracle, Java en SQL delete, update statement

Pagina: 1
Acties:

  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 22:01
Hoi,

Ben bezig met het uitvoeren van verschillende SQL statements achter elkaar.
Dit gebeurd middels een JDBC verbinding vanuit een Java applicatie.
Bij het uitvoeren van de query blijft de applicatie echter steken zonder dat ik een error melding krijg of wat dan ook.
De query is correct, die kan ik gewoon in Oracle SQL Plus uitvoeren. Met dezelfde user.
Dit is de code die ik gebruik om de query uit te voeren.
code:
1
2
3
4
5
6
Connection dbcon = getNewOracleJDBCConnection();
// Statement stmt = dbcon.createStatement();
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
boolean result1 = stmt.execute(query1);
stmt.close();
dbcon.close();

Misschien dat ik nog iets speciaals moet instellen. executeUpdate heb ik ook al geprobeerd zonder resultaat.
Als iemand een idee heeft dan hoor ik het graag.
Of misschien een uitgebreid stukje source code met betrekking tot het uitvoeren van sql statements.

Voorbeeld van SQL statement dat ik gebruikt:
code:
1
2
3
4
5
6
7
8
String query1 = null;
query1  = "DELETE toplistproduct WHERE toplistproduct.catuuid IN ";
query1 += "( ";
query1 += "SELECT toplist.catuuid ";
query1 += "FROM toplist, toplistproduct ";
query1 += "WHERE toplist.runupdate = 1 " ;
query1 += "AND toplist.CATUUID = toplistproduct.catuuid ";
query1 += ") ";

Maar daar is dus niks mis mee aangezien het gewoon werkt in Oracle SQL plus waarmee ik ben ingelogd onder dezelfde usernaam als ik gebruik voor de JDBC connectie.

  • Scarfish
  • Registratie: Maart 2002
  • Laatst online: 06-05-2025
Zit hier net een stukje te lezen in een document die we van school hebben gekregen:
De JDBC API wordt standaard meegeleverd in de Java SDK.

De drivers voor de meeste gangbare databases zijn te vinden via internet. De meeste zijn echter niet gratis te downloaden.
Weet je dus zeker dat je de drivers ervoor hebt??

edit:

Je moet ze trouwens wel declareren as ik me niet vergis.
Bij Jdbc.Odbc:
[code]connection con;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:myConnection");
}[/code]
Iets in die richting.

Erm...


  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 22:01
Dat weet ik zeker.
Anders zou mijn applicatie niet compileren. Daarbij heb ik een volledige Oracle 8i hier draaien met een e-Commerce pakket waar de drivers bij zitten en het pakket maakt zelf ook gebruik van de drivers.

edit:

Dat van dat declareren weet ik. Daar heb ik zelf een functie voor gemaakt en die roep ik ook aan:
getNewOracleJDBCConnection();
Maar daar zit het probleem niet.

  • Scarfish
  • Registratie: Maart 2002
  • Laatst online: 06-05-2025
Connectie gemaakt?? Zie edit van vorige post.

Erm...


  • Scarfish
  • Registratie: Maart 2002
  • Laatst online: 06-05-2025
Ehm in je code maak je een connectie aan die dbcon heet. Vervolgens probeer je connectie con te gebruiken die er dus niet is.
code:
1
Statement stmt = [b]con[/b] .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

Hier zou je nl wel dbcon gebruiken (wat waarschijnlijk dus wel werkt):
code:
1
// Statement stmt = dbcon.createStatement();

:)

Erm...