Recherche
Posez votre question Signaler

Cherche exemple execution proc stockée java

Peguinette 176Messages postés vendredi 15 juin 2001Date d'inscription 17 juillet 2003Dernière intervention - Dernière réponse le 22 mai 2008 à 15:42
Salut,

Peut-on appeler une procedure stockée de la meme maniere qu'une requete sql (j'en doute, mais on sait jamais) ?

Ou doit-on mettre dans le preparecall des '?' ?

Quelqu'un aurait-il un exemple détailler ?

merci.


Peguinette...
"Petit à petit on devient moins petit."
Lire la suite 
Réponse
+2
moins plus
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.CallableStatement;
import java.sql.SQLException;


public class DumpstatsTable {
CallableStatement stmt = null;
Connection conn = null;
public static void main(String arg[]) {
DumpstatsTable dat = new DumpstatsTable();
dat.open();
dat.showTable();
//dat.dropTable();
dat.close();
}
public void open() {
try {
conn = DB.getConnection();
//stmt = conn.createStatement();
} catch(SQLException e) {
System.out.println(e);
}
}
public void showTable() {
try {
stmt = conn.prepareCall("{call get_stats_ivr(?,?)}");
stmt.setString("cDate1","20080501");// Affecte la valeur 1 au paramètre 1
stmt.setString("cDate2","20080501");
ResultSet set = stmt.executeQuery();
while(set.next()) {
String id = set.getString(1);
String datein = set.getString(2);
String timein = set.getString(3);

while(id.length() < 16)

id += " ";
datein += " ";
timein += " ";

System.out.println(id + datein + timein);
}
} catch(SQLException e) {
System.out.println(e);
}
}
public void dropTable() {
try {
int status = stmt.executeUpdate("drop table stats");
System.out.println("Status from dropping table: " + status);
} catch(SQLException e) {
System.out.println(e);
}
}
public void close() {
try {
stmt.close();
} catch(SQLException e) {
System.out.println(e);
}
try {
conn.close();
} catch(SQLException e) {
System.out.println(e);
}
}
}
Ajouter un commentaire
Réponse
+1
moins plus
Tu peux tres bien appeler une proc stokee de la meme manier qu'une requete mais tout depend quand meme de ton driver JDBC donc c'est a discuter... (le driver JDBC-ODBC ne supporte pas ca a ma connaisance)

Les '?' perso j'aime pas et je prefere construire le chaine requete sur le tas en tappant directe les param dedans moi meme donc je ne peux pas t'aidre pour ca...

Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.
Peguinette 176Messages postés vendredi 15 juin 2001Date d'inscription 17 juillet 2003Dernière intervention - 16 mai 2002 à 15:52
J'utilise JDBC 2.0

d'apres ce que tu me dis, on peut faire :
prepareCall("call MAPROC(variable1,variable2)");

mais ca me parait bisard car une procedure stockée est une fonction qui a souvent besoin d'argument et qui a aussi besoin du type des argument. Alors que là, si on peut faire ce qui est écrit au dessus, je ne vois pas comment le jdbc fait pour récuperer le contenu de la variable et le type.

Ce que je voulais savoir c'est si il n'y avait pas moyen d'eviter de faire :
cstmt.setString(0,"essai");
cstmt.setInt(1,156);

pour passer les arguments.

merci par avance,

Peguinette...
"Petit à petit on devient moins petit."
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
cdate1 et cdate2 deux param pro stock
Ajouter un commentaire
Ce document intitulé «  cherche exemple execution proc stockée java  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.