ERROR sql java.sql.SQLException: Before start of result set

Signaler
Messages postés
78
Date d'inscription
jeudi 6 février 2003
Statut
Membre
Dernière intervention
4 octobre 2004
-
Messages postés
8
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
21 juillet 2008
-
sauriez vous pourquoi quand je fait mon getInt mon result set n'est pas encore valide?
à insert_id = rs.getInt("MROUNDID");

import java.io.*;
import java.sql.*;
import java.text.*;
import java.util.*;

import org.apache.log4j.Category;
import org.apache.log4j.NDC;

import org.apache.turbine.util.TurbineConfig;
import org.apache.turbine.services.db.TurbineDB;
import org.apache.turbine.util.db.pool.DBConnection;

public class Mission_letterManager {
/*instanciation objet log pour debug*/
static Category log = Category.getInstance(Mission_letterManager.class.getName());
private Mission_Order m_o = null; // ne se sert pas ici
private Hashtable hMission_Order9 = new Hashtable(); //contain part in Mission_Order of mission letter standby
private Hashtable hRound = new Hashtable(); //contain part in Round of all mission letter
/*****************pour base de donne****************/
private String urlSql = null;
private String nomBaseClient = null;
private String codeClient = null;
private String msgFrom = null;
private String msgTo = null;
/*****************************base de données************************/ private DBConnection dbConn null, dbConnGPRS null;
private Statement stmt=null, stmtGPRS=null;
private boolean connector = true;//connector is ok
private boolean setConnector(String nomBaseClient) {
try {
dbConn = TurbineDB.getConnection(nomBaseClient);
dbConnGPRS = TurbineDB.getConnection("gprsElbeuf");
stmt = dbConn.createStatement();
stmtGPRS = dbConnGPRS.createStatement();
return true;
}
catch (Exception e) {
log.error("Can't get database connection or statement ! " + e);
}
return false;
}

private boolean releaseConnector() {
try {
stmt.close();
stmtGPRS.close();
TurbineDB.releaseConnection(dbConn);
TurbineDB.releaseConnection(dbConnGPRS);
return true;
}
catch (Exception e) {
log.error("Can't close statement or release connection ! " + e);
}
return false;
}

public void addMission_order(int msgMcuCode, String missions){
java.util.Date currenttime = new java.util.Date();
java.sql.Timestamp timestampvalue = new java.sql.Timestamp(currenttime.getTime());
String sql=null;
//String msgMessage = null;
String mission = null;//une mission données à formater
int insert_id = 0;//identifiant de tournée insérée
General grl = new General();
//msgMessage = grl.Replacebody(msgMessage);// remplace les caractères spécaux
connector = setConnector(nomBaseClient);//mis en para car request et nomBaseClient ne persiste pas
int count =0;
/********************************INSERTION DE LA TOURNEE******************************************/
sql = "INSERT INTO T_Round ";
sql += "SET ";
sql += "RoundName=""+ this +"" ;";
try {
count = stmt.executeUpdate(sql);
log.debug(count+"=sql="+sql+"stmp="+stmt);
} //try
catch (Exception e1) {
log.error("ERROR sql " + e1);
}
/********************************RECHERCHE DE L'ID DE TOURNEE******************************************/
try {
ResultSet rs = null;
sql = "SELECT MAX("RoundId") AS MROUNDID FROM T_ROUND WHERE RoundName="" + this + "" ;";
rs = stmt.executeQuery(sql);
//log.debug("=sql="+sql+"stmp="+stmt+"rs="+rs);
for (int i = 0 ; i < 2147483647 ; i++) {
String pourquecamarche = "enfin";
}

insert_id = rs.getInt("MROUNDID");

log.debug("id="+insert_id);
rs.close();
} //try
catch (Exception e1) {
log.error("ERROR sql " + e1);
}
connector = releaseConnector();
}
}

2 réponses

Messages postés
53
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
23 septembre 2005
1
remplace la ligne insert_id = rs.getInt("MROUNDID");

par

while ( rs.next() )
{

insert_id = rs.getInt("MROUNDID");

}

rs.next() initialise l'affectation des colones
Messages postés
8
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
21 juillet 2008

merci bien :) j avai moi aussi meme probleme