Sorry rot natürlich nicht mit pfeil! -----Ursprüngliche Nachricht----- Von: Brunmair, Patrick Gesendet: Mittwoch, 04. Februar 2004 15:33 An: [EMAIL PROTECTED] Betreff: [Asp.net] fehler fehler fehler
hallo , wenn ich in meinem datagrid auf bearbeiten klicke dann bekomme ich folgende fehlermeldung: Dieser Verbindung ist bereits ein geöffneter DataReader zugeordnet, der zuerst geschlossen werden muss. die zeile ist rot markiert ,hier mal ein wenig code: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then Session("ConnStr") = "server=***;database=***;UID=**;pwd=*****;" DatenEinlesen() End If End Sub Private Sub DatenEinlesen() Dim Conn As New SqlClient.SqlConnection(Session("ConnStr")) Dim SQLStr As String = " select MaGruppe, Bezeichnung, KostGruppe,Leistungsgruppe from v_MaGruppe" Dim Comm As New SqlClient.SqlCommand(SQLStr, Conn) 'Dim mySQLDaterAdapter As New SqlClient.SqlDataAdapter Dim objDR As SqlClient.SqlDataReader Conn.Open() objDR = Comm.ExecuteReader(System.Data.CommandBehavior.CloseConnection) dgVerwaltung.DataSource = objDR dgVerwaltung.DataBind() Conn.Close() objDR.Close() End Sub Sub dgVerwaltung_Bearbeiten(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Handles dgVerwaltung.EditCommand dgVerwaltung.EditItemIndex = CInt(e.Item.ItemIndex) 'Datagrid im Bearbeitungsmodus dgVerwaltung.ShowFooter = False 'DatenEinlesen() DatenEinlesen() End Sub Sub dgVerwaltung_Abbrechen(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Handles dgVerwaltung.CancelCommand dgVerwaltung.EditItemIndex = -1 'Datagrid im Bearbeitungsmodus ,footer anzeigen dgVerwaltung.ShowFooter = True 'DatenEinlesen DatenEinlesen() End Sub Sub dgVerwaltung_Loeschen(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Handles dgVerwaltung.DeleteCommand Dim MaGruppe As Int32 Dim commandStr As String End Sub Private Sub dgVerwaltung_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgVerwaltung.ItemDataBound Dim Conn As New SqlClient.SqlConnection(Session("ConnStr")) Dim SQLStr As String = "select * from V_MaGruppe" Dim Comm As New SqlClient.SqlCommand(SQLStr, Conn) Dim mySQLParameter As New SqlClient.SqlParameter Dim objDR As SqlClient.SqlDataReader Conn.Open() objDR = Comm.ExecuteReader(System.Data.CommandBehavior.CloseConnection) 'Dropdown für footer generieren(im hinzufuegenModus) If e.Item.ItemType = ListItemType.Footer Then Dim ddlKostGruppeF As New DropDownList Dim ddlLeistungsGruppeF As New DropDownList 'KostGruppenDDLerstellen und füllen ddlKostGruppeF.DataSource = objDR ddlKostGruppeF.DataTextField = "KostGruppe" ddlKostGruppeF.DataValueField = "KostGruppe" ddlKostGruppeF.DataBind() ddlKostGruppeF.Items.Insert(0, "Auswahl") ddlKostGruppeF.Items.FindByText("Auswahl").Value = 0 ddlKostGruppeF.SelectedIndex = 0 Conn.Open() Dim objDR2 As SqlClient.SqlDataReader objDR2 = Comm.ExecuteReader(System.Data.CommandBehavior.CloseConnection) 'LeistungsgruppenDDL erstellen und fuellen ddlLeistungsGruppeF.DataSource = objDR2 ddlLeistungsGruppeF.DataTextField = "Leistungsgruppe" ddlLeistungsGruppeF.DataValueField = "Leistungsgruppe" ddlLeistungsGruppeF.DataBind() ddlLeistungsGruppeF.Items.Insert(0, "Auswahl") ddlLeistungsGruppeF.Items.FindByText("Auswahl").Value = 0 ddlLeistungsGruppeF.SelectedIndex = 0 End If 'Dropdownliste für bearbeitenModus erstellen und fuellen If e.Item.ItemType = ListItemType.EditItem Then objDR = Comm.ExecuteReader(System.Data.CommandBehavior.CloseConnection)------>fehler dgVerwaltung.DataSource = objDR dgVerwaltung.DataBind() Dim ddlKostGruppe As DropDownList Dim ddlLeistungsgruppe As DropDownList Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView) Dim eigenschaft As String ddlKostGruppe = CType(e.Item.FindControl("ddlKostGruppe"), DropDownList) ddlKostGruppe.DataBind() ddlKostGruppe.Items.Insert(0, "Auswahl") ddlKostGruppe.Items.FindByText("Auswahl").Value = 0 eigenschaft = CType(drv("KostGruppe"), String) ddlKostGruppe.Items.FindByValue(eigenschaft).Selected = True ddlLeistungsgruppe = CType(e.Item.FindControl("ddlKostGruppe"), DropDownList) ddlLeistungsgruppe.DataBind() ddlLeistungsgruppe.Items.Insert(0, "Auswahl") ddlLeistungsgruppe.Items.FindByText("Auswahl").Value = 0 eigenschaft = CType(drv("Leistungsgruppe"), String) ddlLeistungsgruppe.Items.FindByValue(eigenschaft).Selected = True End If End Sub _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net