Jeu de résultats de la méthode getObject () - comment l'utiliser correctement?
- Je faire une requête de base de données et de les stocker Account
objets dans le ResultSet
. Voici le code:
try {
ResultSet rs = queryDatabase();
int i=0;
while (rs.next()) {
Account account= rs.getObject(i, Account); //ERROR
accounts.add(account);
i++;
}
} catch (Exception e) {
}
Ce code renvoie 3 objets et les stocke dans le rs. Alors je veux obtenir ces objets dans le ResultSet
et de les mettre dans un ArrayList
comme vous le voyez dans le code. Mais il donne une erreur à la ligne spécifiée en disant que ;
prévu. Comment puis-je utiliser getObject
méthode correctement?
Pourquoi il y a des doubles parenthèses à côté de
C'est vous dire que vous avez un erreur de syntaxe. Comme, trop de parenthèses, et un Type où est n'appartient pas, par exemple.
eh bien, désolé pour la parenthèse, je les fixe
malheureusement, ma réponse ne peut pas être couverts dans les commentaires =\
le problème est que vous ne comprenez pas comment JDBC fonctionne, donc la première chose à faire serait de le consulter.
getObject
: ((
et ))
?C'est vous dire que vous avez un erreur de syntaxe. Comme, trop de parenthèses, et un Type où est n'appartient pas, par exemple.
eh bien, désolé pour la parenthèse, je les fixe
malheureusement, ma réponse ne peut pas être couverts dans les commentaires =\
le problème est que vous ne comprenez pas comment JDBC fonctionne, donc la première chose à faire serait de le consulter.
OriginalL'auteur yrazlik | 2013-07-09
Vous devez vous connecter pour publier un commentaire.
jeu de résultats.getObject
(et les autresgetXxx
méthodes) permettra de récupérer les données à partir de la ligne actuelle de laResultSet
et commence à l'indice 1. Vous avez défini lei
variable avec la valeur 0.Il suffit de changer cette
À
Aussi,
getObject
besoin d'un seul param, mais vous avez tort l'envoi de deux:Probablement que vous étiez en train d'utiliser
ResultSet#getObject(int, Classe)
(disponible à partir de Java 7), mais vous devez prendre en compte que votreAccount
classe ne peut pas être comme par magie convertie à partir d'une colonne de base de données à une instance de cet objet.Ressemble, il serait préférable de revoir JDBC procès d'abord, puis réessayer pour résoudre votre problème.
Voici une autre bonne source d'examen: L'Aide Personnalisé De Type Mappages
vérifier la mise à jour de ma réponse.
qui a du sens, j'ai trouvé un moyen de le faire merci. Lorsque nous faisons String s=rs.getString(0); il ne donne pas d'erreur alors j'ai pensé que si je fais la même chose pour objet de Compte, ce serait ok, mais il n'a pas
mais au sujet de votre réponse, la méthode getObject peut aussi prendre deux paramètres, il est pas mal
Personne ne sait pourquoi ResultSet.getObject(int i) commence à compter les colonnes à partir de 1 et non de 0 (comme un tableau) ?
OriginalL'auteur Luiggi Mendoza
Notre objet:
Comment obtenir notre objet à partir de la bd:
Comment sauver notre objet:
Testé sous H2 base de données.
OriginalL'auteur Ilja Vost