webForumDet fria alternativet

datareader, repeater och ddl

.NET

2 svar · 198 visningar · startad av Dino

Medlem sedan sep. 20011 914 inlägg
Frågan#1

En fråga till angående datareader. Koden nedan.

drGet = cmdGet.ExecuteReader()
repTest.datasource = drGet
repTest.databind()
drGet.close()

drGet = cmdGet.ExecuteReader()
Dim intCounter As Integer = 0
while drGet.read()
   ddlAAA.items.add(new listitem(drGet("g_name"),drGet("g_id")))
   intCounter += 1
end while
drGet.close()

Först tar jag datareadern drGet och binder den till en repeater, men jag skulle även vilja att medan den kör igenom drGet så skall den samtidigt lägga till de värderna i ddlAAA. Med koden ovan så kör jag drGet = cmdGet.ExecuteReader() två gånger för detta. Kan jag alltså göra det samtidigt?

Medlem sedan dec. 2000399 inlägg
#2

Du skulle kunna göra så att du lägger in din data i en ArrayList och även lägger till det i din dropdown. Därefter binder du din ArrayList till din repeater. Lite kod (varning: kan inte vb):

Dim arr As new ArrayList
drGet = cmdGet.ExecuteReader()
Dim intCounter As Integer = 0

while drGet.read()
   ddlAAA.items.add(new listitem(drGet("g_name"),drGet("g_id")))
   arr.Add(drGet("fin kolumn"))
   intCounter += 1
end while
drGet.close()

repTest.datasource = arr
repTest.databind()
Medlem sedan sep. 20011 914 inlägg
#3

Funkar perfekt. Återigen tack. :)

252 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)