22. februar 2012 - 11:03Der er
8 kommentarer og 1 løsning
'Fill' database: invalid handle?
Hej alle.
Jeg tilgår en database, laver en select, bruger Fill og arbejder herefter med dataen. I nedenstående eksempel er data en liste af en liste af typen string (list<list<string>>):
for (int i = 0; i < data.Count; i++) { sstring = "SELECT Kol1, Kol2, Kol3 FROM tabel3 " + "WHERE Kol4='" + data[i][2].ToString() + "'" + " ORDER BY Kol3";
dbdt = new DataTable(); dbAdapter = new OdbcDataAdapter(sstring, myConnect); dbAdapter.Fill(dbdt);
foreach (DataRow myrow in dbdt.Rows) { // Do something } dbAdapter.Dispose(); }
Ovenstående gør jeg et par gange, dog med en forskellig string.
Jeg får følgende fejl, som "peger" på linjen med Fill: INVALID_HANDLE - unable to allocate an environment handle.
Tilgår jeg databasen for mange gange, uden at release resurserne?
Ja, det er jeg enig i. Jeg har bare lige prøve at gøre sådan, da jeg er ved at være lidt frustreret over den fejl :)
Hvad mener du med hvad database? Det er en almindelig SQL-database, hvis det er det du spørger efter.
Nix, ingen andre fejl. Det er også kun hver anden gang fejlen kommer. Resten af gangene kører programmet der ud af, og giver mig det ønskede output. Jeg har ikke rigtig kunne gennemskue hvad der udløser fejlen.
I så fald ville jeg nok implmentere en counter, så den max prøver X antal gange.
mvh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.