Cherche exemple execution proc stockée java
Peguinette
Messages postés
176
Statut
Membre
-
angelofsoft -
angelofsoft -
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."
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."
A voir également:
- Cherche exemple execution proc stockée java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Tableau word exemple - Guide
- Url exemple - Guide
- Exemple de code ascii - Guide
3 réponses
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);
}
}
}
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);
}
}
}
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.
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.
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."
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."