vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
DataReader mehrfach aufrufen? 
Autor: Stomper
Datum: 14.07.04 09:32

Hallo,

ich habe folgendes problem:

Ich möchte Daten aus 3 Tabellen in eine HTML Tabelle bekommen(richtig, ich programmiere eine Web Anwendung), theoretisch war das für mich kein Problem.... 3 Connections 3 DataReader und ab die Post...

Aber jetzt meldet mir VisualStudio einen fehler, wenn er den zweiten DataReader öffnen will, das angeblich schon ein DataReader mit dieser Connections associated wäre. Aber ich habe ja extra 3 connections mit anderen Variablen namen geöffnet. Warum bekomme ich immernoch diesen fehler... hier mal ein Quelltext ausschnitt:
        Dim myconnProdukt As New SqlConnection(constring)
        Dim myconnHersteller As New SqlConnection(constring)
        Dim myconnHistory As New SqlConnection(constring)
 
        Dim mycmdProdukt As SqlCommand
        Dim mycmdHersteller As SqlCommand
        Dim mycmdHistory As SqlCommand
 
	 myconnProdukt.Open()
	 myconnHersteller.Open()
	 myconnHistory.Open()
        ' SQLReader (myreaderProdukt) mit Produkt Spalte füllen
        mycmdProdukt = New SqlCommand("SELECT * FROM Tab_Produkt", _
          myconnProdukt)
        Dim myreaderProdukt As SqlDataReader = mycmdProdukt.ExecuteReader
 
        ' TABELLE UND ÜBERSCHRIFTEN ERZEUGEN
        Response.Write("<table width=""60%"" border=""1"" align=""center"">")
        Response.Write("<tr>")
        Response.Write("<td>Hersteller</td>")
        Response.Write("<td>Produkt</td>")
        Response.Write("<td>Version</td>")
        Response.Write("<td>Anzahl Lizenzen</td>")
        Response.Write("</tr>")
 
        ' Do While Schleife, macht das für jedes Produkt eine Zeile erzeugt wird
        Do While myreaderProdukt.Read()
 
            mycmdHersteller = New SqlCommand("SELECT * FROM Tab_Hersteller" & _
              "WHERE AutoID=" & myreaderProdukt.Item("HerstellerID"), _
              myconnHersteller)
            mycmdHistory = New SqlCommand("SELECT * FROM Tab_History WHERE" & _
            "ProduktID=" & myreaderProdukt.Item("AutoID"), myconnHistory)
 
            Dim myreaderHersteller As SqlDataReader = _
              mycmdHersteller.ExecuteReader
            Dim myreaderHistory As SqlDataReader = mycmdHistory.ExecuteReader
 
            myreaderHistory.Read()
            myreaderHersteller.Read()
 
            ' TABELLENINHALT SCHREIBEN
            Response.Write("<tr>")
            Response.Write("<td>" & myreaderHersteller.Item("Hersteller") & "</td>")
            Response.Write("<td>" & myreaderProdukt.Item("Produkt") & "</td>")
            Response.Write("<td>" & myreaderHistory.Item("Version") & "</td>")
            Response.Write("<td>" & myreaderHistory.Item("Anzahl") & "</td>")
            Response.Write("</tr>")
 
        Loop
 
        Response.Write("</table>")
        myconnHistory.Close()
        myconnHersteller.Close()
        myconnProdukt.Close()
Also ich gehe jetzt davon aus, das in den Tabellen Tab_History und Tab_Hersteller nur 1 Datensatz selektiert wird.

Kann mir da jemand helfen?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataReader mehrfach aufrufen?1.648Stomper14.07.04 09:32
Re: DataReader mehrfach aufrufen?855ModeratorFZelle14.07.04 09:59
Re: DataReader mehrfach aufrufen?849Stomper14.07.04 10:34
Re: DataReader mehrfach aufrufen?864Drapondur14.07.04 17:30
Re: DataReader mehrfach aufrufen?962ModeratorFZelle15.07.04 10:10

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel