Forum Moderators: open
I am trying to return some rows from an access database. However, I am getting the error
-----------
ExecuteReader: Connection property has not been initialized.
-----------
on the line
-----------
Dim SingleDataReader As OleDbDataReader = SingleComm.ExecuteReader
-----------
I have enclosed the code I am using below in case someone can help me.
Many Thanks
Helen
-----------
Dim MusicDbConn As OleDbConnection
MusicDbConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Birthday-Music.mdb") & ";")
MusicDbConn.Open
Dim SingleComm As OleDbCommand
Dim AlbumComm As OleDbCommand
Dim CSingleComm As OleDbCommand
Dim CAlbumComm As OleDbCommand
SingleComm = New OleDbCommand("SELECT TOP 1 * FROM Singles WHERE ChartDate < " & DOBEnteredDT & " ORDER BY ChartDate desc")
AlbumComm = New OleDbCommand("SELECT TOP 1 * FROM Album WHERE ChartDate < " & DOBEnteredDT & " ORDER BY ChartDate desc")
CSingleComm = New OleDbCommand("SELECT TOP 1 * FROM ChristmasSingles WHERE Year = " & DatePart("yyyy", DOBEnteredDT))
CAlbumComm = New OleDbCommand("SELECT TOP 1 * FROM ChristmasAlbums WHERE Year = " & DatePart("yyyy", DOBEnteredDT))
Dim SingleDataReader As OleDbDataReader = SingleComm.ExecuteReader
SingleDataGrid.DataSource = SingleDataReader
SingleDataGrid.DataBind
Dim AlbumDataReader As OleDbDataReader = AlbumComm.ExecuteReader
AlbumDataGrid.DataSource = AlbumDataReader
AlbumDataGrid.DataBind
Dim CSingleDataReader As OleDbDataReader = CSingleComm.ExecuteReader
CSingleDataGrid.DataSource = CSingleDataReader
CSingleDataGrid.DataBind
Dim CAlbumDataReader As OleDbDataReader = CAlbumComm.ExecuteReader
CAlbumDataGrid.DataSource = CAlbumDataReader
CAlbumDataGrid.DataBind
MusicDbConn.Close
I've solved the problem. I've added ", MusicDbConn" to the commands so that it reads:
----------------
SingleComm = New OleDbCommand("SELECT TOP 1 * FROM Singles WHERE ChartDate < " & DOBEnteredDT & " ORDER BY ChartDate desc", MusicDbConn)
AlbumComm = New OleDbCommand("SELECT TOP 1 * FROM Album WHERE ChartDate < " & DOBEnteredDT & " ORDER BY ChartDate desc", MusicDbConn)
CSingleComm = New OleDbCommand("SELECT TOP 1 * FROM ChristmasSingles WHERE Year = " & DatePart("yyyy", DOBEnteredDT), MusicDbConn)
CAlbumComm = New OleDbCommand("SELECT TOP 1 * FROM ChristmasAlbums WHERE Year = " & DatePart("yyyy", DOBEnteredDT), MusicDbConn)
----------------
However, I am now getting the error
----------------
There is already an open DataReader associated with this Connection which must be closed first.
----------------
Does anyone know how I can fix this?
Thanks
Helen.