Fehler "ExecuteReader: connection-Eigenschaft wurde nicht initialisiert."

Hier ist mein code. Ich kann nicht scheinen, um herauszufinden, was diesen Fehler verursacht. Den Fehler selbst wies auf die Do While myReader.read Zeile code, aber ich bin mir nicht sicher, was das problem verursacht.

Hier ist eine detailiertere Fehlermeldung:

executereader: connection-Eigenschaft wurde nicht initialisiert. system.Daten.oledb.oledbcommand.validateconnection(string method) bei system.Daten.oledb.oledbcommand.validateconnectionandtransaction(string Methode)

Code:

Imports System.Data.OleDb
Imports System.Data

Partial Class Customer_6_OrderHistory
    Inherits System.Web.UI.Page

    Private myDB As OleDbConnection
    Private sqlCmd As OleDbCommand
    Private myReader As OleDbDataReader
    Private myConnection As String = ConfigurationManager.ConnectionStrings("ConnString10").ToString
    Private myDataFile As String = ConfigurationSettings.AppSettings("DBFile")

    Private LegoNameList As New ArrayList
    Private ShipmentDateList As New ArrayList
    Private CostList As New ArrayList
    Private NumberPurchasedList As New ArrayList
    Private RecipientList As New ArrayList
    Private TotalCostList As New ArrayList

    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

        myDB = New OleDbConnection(myConnection)

        sqlCmd = New OleDbCommand("exec qry_OrderHistory")
        sqlCmd.Parameters.AddWithValue("@CustomerName", Session("myCart").GetCustomerName())

        Try
            myDB.Open()
            myReader = sqlCmd.ExecuteReader
            Do While myReader.Read
                LegoNameList.Add(myReader("Lego Name"))
                ShipmentDateList.Add(myReader("Date"))
                CostList.Add(myReader("Cost"))
                NumberPurchasedList.Add(myReader("Number Purchased"))
                RecipientList.Add(myReader("Recipient"))
                TotalCostList.Add(myReader("Total Cost"))
            Loop
            myReader.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
        Finally
            myDB.Close()
        End Try

        Dim myDataTable As New DataTable
        myDataTable.Columns.Add("Lego Name")
        myDataTable.Columns.Add("Date")
        myDataTable.Columns.Add("Cost")
        myDataTable.Columns.Add("Number Purchased")
        myDataTable.Columns.Add("Recipient")
        myDataTable.Columns.Add("Total Cost")

        For i = 0 To LegoNameList.Count - 1
            Dim myRow As DataRow = myDataTable.NewRow
            myRow.Item("Lego Name") = LegoNameList.Item(i)
            myRow.Item("Date") = FormatDateTime(ShipmentDateList.Item(i), DateFormat.ShortDate)
            myRow.Item("Cost") = FormatCurrency(CostList.Item(i), 2, TriState.True, TriState.False, TriState.True)
            myRow.Item("Number Purchased") = NumberPurchasedList.Item(i)
            myRow.Item("Recipient") = RecipientList.Item(i)
            myRow.Item("Total Cost") = FormatCurrency(TotalCostList.Item(i), 2, TriState.True, TriState.False, TriState.True)
            myDataTable.Rows.Add(myRow)
        Next
        gvwOrderHistory.DataSource = myDataTable
        gvwOrderHistory.DataBind()
    End Sub
End Class
  • Ihnen nie vergeben Ihre Verbindung zu den OleDBCommand, die ist, warum Sie immer die Fehler. Versuchen Sie so etwas wie sqlCmd.Connection = myDB oder sqlCommand = New OleDbCommand("exec qry_OrderHistory", myDB)
  • Der Community user stieß diese Frage wieder auf die Startseite, so dass die Antworten geprüft werden würde. Sie sollte upvote und/oder übernehmen Sie eine Antwort, die geholfen hat, dieses Problem zu lösen.
InformationsquelleAutor JStew | 2013-03-24
Schreibe einen Kommentar