webForumDet fria alternativet

Alternativ till DataReader?

.NET

5 svar · 311 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

Om jag vill göra en "manuell" slinga ex. till att skicka flera mail med och inte vill använda SqlDataReader, hur gör jag då?
Använder SqlDataReader och plöjer ner alla posterna i en array eller använder något helt annat sätt att hämta data?
Nackdelen med DataReadern är ju att databaskopplingen är öppen ända tills slingan kört klart.

Medlem sedan apr. 20012 266 inlägg
#2

Du kan använda DataAdapter för att fylla ett DataSet vilket gör att kopplingen stängs då DataSet:et är fyllt.

Medlem sedan nov. 20017 144 inlägg
#3

Och hur kan man då schematiskt göra en "manuell" slinga?
Det är ju ingen tabell jag skall fylla med saker ju.

Medlem sedan nov. 20017 144 inlägg
#4

Oj, detta verkar vara svårt. Är det någon som gjort något liknande?

Medlem sedan feb. 20013 023 inlägg
#5

Jesper T skrev:

Det är ju ingen tabell jag skall fylla med saker ju.

Varför inte? Gör som renholm säger, hämta ned vad du nu behöver (mailadresser antar jag) i ett dataset alt datatable.
Sedan loopar du igenom alla poster.
Typ så här (obs! bara pseudokod):

dim iRow as integer
dim oDataTable as System.Data.DataTable

For iRow=0 to oDataTable.Rows.count-1

'Diverse kod för att skapa mailobjekt

objMail.Recipient=odatatable.rows(irow).item("email")

'Diverse kod för att skicka mailet
Next

Detta är principen, inte en färdig lösning...

Medlem sedan nov. 20017 144 inlägg
#6

Det var precis den principen jag letade efter. Tack för det.

BTW: Med "tabell" menade jag datagrid eller datalist och inte datatable. :)

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)