-1
votes

Comment faire de la boucle avec les Resultins?

Donc, je veux faire boucler ce Resultin pour mettre à jour le tableau un par un, mais la méthode tandis que (RSL.Next ()) ne peut pas m'aider à faire la boucle. C'est juste travailler une fois, puis les autres sont sautés. Quelqu'un peut-il m'aider à résoudre ce problème? Merci d'avance xxx


7 commentaires

Essayez pendant (rs1.hasnext ()) {rs1.next () ...


Votre code dit si qui n'est pas une boucle.


@NEPLATNYDAJ RESUNTSET n'a pas de hasnext () méthode.


pendant (rsl.next ()) est correct. Le problème est probablement ailleurs. Veuillez afficher le code réel où vous avez essayé d'utiliser un pendant boucle.


Alors dites-nous, lequel est-ce que vous utilisez réellement dans votre code, si ou pendant ?


Ah désolé. Ma faute, en fait, pas si. J'essaie de le réparer en utilisant si cela ne fonctionne pas


Catch (Erreur d'exception) Vous ne comprenez jamais quelle est l'erreur si vous n'imprimez pas au moins la trace de la pile là-bas. Il peut même s'agir d'une simple faute de frappe dans l'une des questions, pour tout ce que vous savez.


3 Réponses :


2
votes

Problème: xxx

correction: xxx

débogage de l'application et vérifiez si la connexion à la base de données est valide.


1 commentaires

Désolé, j'utilise réellement le moment, mais face au même problème. Le code avant est quand j'essaie de le réparer en utilisant si, mais ne fonctionne pas non plus



0
votes

Si j'ai bien compris votre problème, il y a deux problèmes possibles ici:

Les ResulatsSet sont NULL - Je suppose que cela ne peut pas être le cas comme si c'était si vous obtiendriez une exception dans votre boucle tandis que rien ne serait émis Le deuxième problème est que les ResultatsT.Getstring (i ++) obtiendront des colonnes 1,2,3 et ainsi de suite de chaque rangée ultérieure. Je pense que le deuxième point est probablement votre problème ici.

Disons que vous n'aviez que 1 ligne renvoyée, comme suit xxx

Votre code tel qu'il Les stands ne feraient que recevoir un - il n'obtiendrait pas le reste des colonnes.

Je vous suggère de changer votre code comme suit: xxx

pour obtenir Le nombre de colonnes: xxx


0 commentaires

0
votes

Lorsque vous exécutez un ExecuteUpdate sur votre relevé, un int est renvoyé et surtout votre objet de jeu de résultats RS1 de votre requête est fermé et n'est plus accessible depuis La classe traite uniquement une seule requête / résultat. Je n'ai pas testé cela moi-même mais je suis sûr que c'est la raison.

La solution consiste à avoir une instruction distincte pour la mise à jour / Supprimer afin que l'original ResultSet n'est pas affecté. Quelque chose comme ci-dessous xxx


1 commentaires

Merci, cela corrige le problème!