sql >> Databasteknik >  >> RDS >> Mysql

Hämta java.sql.SQLException:Operation inte tillåten efter att ResultSet stängts

Problemet är hur du hämtar data i getStuff() . Varje gång du besöker getStuff() du får ett nytt ResultSet men du stänger den inte.

Detta bryter mot förväntningarna på Statement klass (se här - http://docs. oracle.com/javase/7/docs/api/java/sql/Statement.html ):

Som standard kan endast ett ResultSet-objekt per Statement-objekt vara öppet samtidigt. Därför, om läsningen av ett ResultSet-objekt interfolieras med läsningen av ett annat, måste var och en ha genererats av olika Statement-objekt. Alla exekveringsmetoder i Statement-gränssnittet stänger implicit ett utdrags aktuella ResultSet-objekt om det finns ett öppet sådant.

Det som gör saken ännu värre är rs från samtalskoden. Det härleds också från statement fältet men det är inte stängt.

Summa summarum:du har flera ResultSet som hänför sig till samma Statement objektet öppnas samtidigt.



  1. 5 sätt att få det korta månadsnamnet från ett datum i SQL Server

  2. Hur EXTRACTVALUE() fungerar i MariaDB

  3. Matcha utbud med efterfrågan – lösningar, del 3

  4. Vad är MariaDB TX? Hur man hanterar den nya MariaDB MySQL-gaffeln!