vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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

ADO.NET / Datenbanken
Re: Repeater1 wird zweimal durchlaufen 
Autor: ModeratorFZelle (Moderator)
Datum: 27.10.06 17:06

Es sind da mehrer ungereimtheiten in deinen Sourcen.

1. Gerade in ASP.NET wichtig, die Datenbank-Codes gehören in Try/Catch/Finally
oder Using damit die Verbindung wirklich geschlossen wird.
Du lässt nämlich z.B. in ArtikelinWarenkorb die Verbindung offen.

2.
Du musst objDaten.Read() auch abfragen, denn was ist, wenn Du keine Daten bekommst.

3.
Du fragst garnicht ab, welches ItemCommand du bekommst.

4.
Call brauchst Du nicht, einfach nur die Routine aufrufen reicht.

5.
Bitte benutze bei Commands immer die ParameterCollection, das ist gut gegen Sql-Injections,
und verhindert Fehler beim Konvertieren.

Deine Repeater funktion sollte also so aussehen:
 
Protected Sub Repeater1_ItemCommand(ByVal source As Object, ByVal e As _
  System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles _
  Repeater1.ItemCommand
 
 
  Dim AusgewArtikel As String = ""
  AusgewArtikel = CType(e.CommandSource, Button).ToolTip
 
  'Ausgew. Artikel einelesen
  Dim TempDatenbank As String = Server.MapPath(Datenbank)
 
  Using objVerbindung As New OleDbConnection( _
    "Provider=Microsoft.Jet.oledb.4.0;Data Source= '" & TempDatenbank & "'")
 
    objVerbindung.Open()
 
  	Dim sqltext as string = "select * from Artikel where Artikelnummer = '" & _
    AusgewArtikel & "'"
 
  	Using objBefehl As New OleDbCommand(sqltext, objVerbindung)
 
		  Dim objdaten As OleDbDataReader = objBefehl.ExecuteReader()
 
  		If objdaten.Read() Then
  			Dim ArtikelID As String = objdaten.Item("ArtikelID").ToString()
        Dim Artikelnummer As String = objdaten.Item("Artikelnummer").ToString()
        Dim ArtikelBezeichnung As String = objdaten.Item( _
          "ArtikelBezeichnung").ToString()
        Dim ArtikelPreis As String = objdaten.Item("ArtikelPreis").ToString()
 
        ArtikelInWarenkorb(Artikelnummer, Label2.Text, ArtikelID, ArtikelPreis)
      End If
 
    End Using
 
  End Using 
 
End Sub
Nur da hier schon der Code für das befüllen des Repeaters fehlt, wird wahrscheinlich
auch der Teil fehlen der den Fehler verursacht.

Wie sieht dein PageLoad wirklich aus?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Repeater1 wird zweimal durchlaufen1.080Stam7627.10.06 14:53
Re: Repeater1 wird zweimal durchlaufen723DerLord27.10.06 16:50
Re: Repeater1 wird zweimal durchlaufen727ModeratorFZelle27.10.06 19:39
Re: Repeater1 wird zweimal durchlaufen717ModeratorFZelle27.10.06 17:06
Re: Repeater1 wird zweimal durchlaufen716Stam7630.10.06 12:59
Re: Repeater1 wird zweimal durchlaufen750ModeratorFZelle30.10.06 13:47
Repeater1 wird zweimal durchlaufen755Stam7631.10.06 10:09
Re: Repeater1 wird zweimal durchlaufen728ModeratorFZelle31.10.06 19:43
Re: Repeater1 wird zweimal durchlaufen671Stam7631.10.06 20:11

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