06. februar 2007 - 21:51
Der er
12 kommentarer og 1 løsning
DataReader i DataReader
Hej Hvis jeg har en metode der henter en masse kunder, og jeg for hver kunde vil hente deres ordrer, får jeg en fejl om at der allerede er en åben reader. MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Kunde k = new Kunde(...); HentKundesOrdrer(k); } HentKundesOrdrer() er opbygget på samme måde som ovenstående stump. Skal jeg lave to connections, eller er der en hel anden måde at gøre det på?
Annonceindlæg fra Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
06. februar 2007 - 21:55
#1
SELECT K.KundeID, KO.KundeOrdreID, Flerefelter FROM Kunder K INNER JOIN KundeOrdre KO ON K.KundeID = KO.KundeID Men så kommer det som en samlet i en datareader, ved ikke hvordan du vil behandle din data .... men ellers kan du blive nød til at lave 2 connections ... // ouT
06. februar 2007 - 21:55
#2
jeg plejer at åbne en ny forbindelse du kan evt lave cmd.ExecuteReader(CommandBehavior.CloseConnection);
06. februar 2007 - 21:56
#3
og så åbner jeg desuden mine connections via. using
06. februar 2007 - 21:58
#4
kalp... CloseCon ... men han bliver jo stadig nød til at have 2 cons, med mindre jeg har overset noget ... // ouT
06. februar 2007 - 22:00
#5
buzzzz >> ja det ved jeg og også det jeg skriver:) er lidt i tvivl om man overhovedet behøver closecon når man bruger using da den jo gerne skulle rydde op efter sig selv. oh well.. men ja er enig i der skal åbnes en ny forbindelse hvilket også er sådan jeg har gjort det hidtil
06. februar 2007 - 22:19
#6
CloseCon skulle ikke være nødvendig så ... da CloseCon jo bare gør sådan at når readeren lukkes, lukkes forbindelsen også ... kalp: Lød bare som et nyt foreslag mht til CloseCon .. da du skrev "evt" ... men vi er enige .. :-) Thats what matter // ouT
06. februar 2007 - 22:51
#7
normalt skal man bruge 2 connections (af ret indlysende aarsager)
07. februar 2007 - 09:50
#8
Vil det være en løsning/fordel at bruge et dataset? Smid nogle svar.
07. februar 2007 - 10:37
#9
buzzzz kan få min del.. han var et par sekunder hurtigere:) med hensyn til dit nye spørgsmål så foretrækker jeg datareader og har derfor ikke brugt så meget tid på datasets.. så er svar skyldig her.
07. februar 2007 - 16:41
#10
Et DataSet (evt. typed) er en hurtig loesning hvor man ikke skal til at lave egne data klasser og operere med collections. Til en hurtig 2 layer GUI er det sikkert helt fint. Jeg ville ikke bruge det til et stort projekt. Det bryder ligesom lidt adskillelsen af lag.
07. februar 2007 - 17:02
#11
Ok. Min klasse med ovenstående metode har et privat felt der holder forbindelsen, hvor jeg så bare åbner og lukker den i mine metoder. Så laver jeg bare en ny forbindelse i den ene metode, og fortsætter med at bruge det globale connection object i resten af metoderne?
08. februar 2007 - 01:19
#12
svar fra mig
08. februar 2007 - 02:09
#13
pas på med ikke lokale connections instanserne af klassen er ikke thread safe
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.