DataReader im DataReader - ohne MARS?

BGrojer

Mitglied
Hi!

Ich bin noch "einstiger" in ASP.net und Arbeite mit Version 2.0.

Allerdings verwende ich keine SQL Datenbank 2005 sondern die 2000er Version. dH Ich hab kein MARS.

Ich möchte nun verschachtelt Daten ausgeben.

Also eine Schleife mit einen sqldatareader wo die "Kategorie" ausgegeben wird. Und danach noch eine schleife unter dieser Schleife wo ich die "Details" ausgebe ...

Muss ich dafür wirklich 2 SQLConnections machen?! Wäre ja sehr mühsam ... Wie würdet ihr das machen?

Etwas Code wäre ein Hit :)

Code:
...
Dim intranetConnection As SqlConnection = New System.Data.SqlClient.SqlConnection(ConfigurationManager.AppSettings("connectionString").ToString)
sqlstmt = "SELECT DISTINCT * FROM tbl_test"
Dim dbCommand As SqlCommand = New SqlCommand(sqlstmt, intranetConnection)
intranetConnection.Open()
Dim dr As SqlDataReader = dbCommand.ExecuteReader()
While dr.Read()
 sqlstmt = "SELECT DISTINCT * FROM tbl_test where ..."
Dim dbCommand2 As SqlCommand = New SqlCommand(sqlstmt, intranetConnection)
Dim dr2 As SqlDataReader = dbCommand2.ExecuteReader() <--- ERROR ;-(
... Code fürs 2te looping durch den dr2 reader

End While
 
Hi
BGrojer hat gesagt.:
...
Muss ich dafür wirklich 2 SQLConnections machen?!
...
Ja, musst du. Pro Conection kann nur ein DataReader offen sein.
MSDN hat gesagt.:
While the OleDbDataReader is in use, the associated OleDbConnection is busy serving the OleDbDataReader, and no other operations can be performed on the OleDbConnection other than closing it.
Auszug aus OleDBDataReader Class
 
Danke ihr seit ein Wahnsinn! ;-)

Generell wäre es dann ja wohl intelligenter statt einen Datareader ein ds zu nehmen oder?

Undying
 
Zurück