VB 2010Problem : There is already an open DataReader associated with this Command which must be closed first.
Cause : Having more than 1 dataReader result set working at the same time .
Solution : In my solution example, i work with SqlServer2000 and VB.Net 2005
The Example Project can be downloaded at the end of this post :
It contains (SqlServer2000 DataBase - VB.Net Project)
The example shows how to navigate (First Record - Next Record) using ADO.Net 2.0 Online-Mode using SqlClient DataReader ...
Sql Database Name : Market
Sql Database Table : Market.Info
Server Name : evry1falls
(in order to see the example correctly, you'll have to Import the Database 'Market' into your sqlserver2000 Enterprise Manager)
Photo1 : Application Final Design
Photo2 : Table Structure
Photo3 : Codes
Photo4 : Codes
Photo5 : Codes
Now if you run the project and tried to navigate using (First) or (Next) you will get the Exception :
There is already an open DataReader .....
so the solution would be :
Trap the Exception that shows in the (SelectedIndexChanged) Event of the (ComboBox) like this :
and the same for the (Next) Button ..
now you can Navigate and search using combobox safely without exceptions ..
- Source code will give you exception and you will have to re-write the solution by yourself as shown above .
- The Folder(Bin/Debug) Includes (Back-Up) use it to restore the (Market Database) in your sqlserver2000
- use the namespace (evry1falls) as new server Registration .
Download Source Code : MediaFire Link
Using MS Access 2003/2007/2010- In case of using Microsoft Access Database, OleDb.OleDbDataReader with OleDb.OleDbCommand.
The work around or the solution would be :
Always create a new Instance of the OleDbCommand, I.e