16. februar 2009 - 15:43Der er
13 kommentarer og 1 løsning
C#: MySQL connection
Jeg har et C# program som bruger MySql.Data.MySqlClient til at forbinde til en lokal MySQL database.
I toppen af min kode laver jeg en connection til min database og laver en command og en reader som bliver itereret igennem med en While. Inden i whilen har jeg for hvert objekt i readeren brug for at lave en ny command. Her fik jeg en fejl som sagde, at jeg ikke kunne bruge min connection igen mens den bliver brugt til readeren. Derfor var jeg nødt til at lave en ny connection hver gang while-løkken kører. Da den bliver kørt mange gange, ender det med at jeg åbenbart får en timeout til sidst får derfor en exception.
Hvordan kan jeg få lov til at bruge min connection til flere jobs på en gang?
Koden er lidt komplex, så tror det vil forvirre ved at indsætte den her. Det kan desværre ikke laves med en subquery - er nødt til at lave en command igen. Her er et lille uddrag:
Alternativet er at samle dine data fra den første SELECT i en liste, og bruge dem efterfølgende. Så har du kun en connection i gang. Ikke at det gør den store forskel.
Og hvem ved om det kan laves med en subquery ... ?
Jeg beklager meget - der er sket en fejl. Da jeg gennemgik mine åbne spørgsmål, så jeg at der i denne stod "eg-samler-slet-ikke-paa-point...". Derfor troede jeg, at jeg havde bedt jer smide et svar.
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.