Bonjour,
est-il possible de vérifier dans le ResultSet l'existence d'une valeur dans un champ ?
je m'explique :
j'ai un fichier en entrée qui contient des données (identifiant) qui doivent être purgé dans la base.
je lit le fichier ligne par ligne, et j'obtiens les 20 premiers caractères de chaque ligne qui doivent correspondre au identifiant.
avant d'effectuer la purge de cet identifiant, je dois d'abord vérifier si cet enregistrement répond aux critère de la purge.
pour l'instant mon application ressemble à ça :
je peut faire une requête SQL dans la méthode purge pour que seul les valeur répond au critère de la purge peuvent être purgés genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ........................ //lecture d'une ligne du fichier valeur = line.substring(0, 20); // qui est mon identifiant purge(maTable, monChamp, maValeur); ..................... public void purge(String table, String champ, String valeur){ ........................... executeUpdate("delete from "+table+" where "+champ+"='+valeur+"'"); ............................. }
mais cette requête sera appelée autant de fois qu'il y a de lignes à purgés et sa affecte la performance de mon application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 delete from table where champ=valeur and champ in(select champ from table where mon critère)
Bref
je veux commencer par sélectionner les données qui répond à la purge, les mettre dans un resultSet, et à partir de ça, ne purgé que la ligne qui est dans le resultSet genre :
[CODE]//lecture d'une ligne du fichier
valeur = line.substring(0, 20); // qui est mon identifiant
if(valeur est dans le resultSet) {
purge(maTable, monChamp, maValeur);
}
/CODE]
ou dans la methode purge, faire un select sur le resutSet
Merci
Partager