F
fanor
I have 2 data adapters, 1 connection , and one data set. I use the same
connection for all this data adapters. I'm using an access database and
windows forms
when I change from one record to other on the table JOBS it triggers
one event. In this event, I have a code like
System.Windows.Forms.BindingManagerBase bc;
bc = this.BindingContext[this.ds1, "jobs"];
this.ds1.WorkEmp.Clear();
if (bc.Count>0)
{
System.Data.DataRow drv;
drv = this.ds1.jobs.Rows[bc.Position];
this.daWorkEmp.SelectCommand.Parameters["njob"].Value=Convert.ToInt16(drv["njob"]);
try
{
this.daWorkEmp.Fill(this.ds1.WorkEmp); // ERROR HAPPENS HERE
}
catch (Exception e3)
{
MessageBox.Show(e3.ToString());
return ;
}
}
I got this message
"System.invalidOperationException: there is already an open DataReader
associated with this connection which must closed first"
WorkEmp.SelectCommand is like
SELECT b.firstname, b.lastname, a.empid, a.njob, b.empid AS Expr1 FROM
WorkOn a INNER JOIN employee b ON a.empid = b.empid WHERE (a.njob = ?)
I'm missing something???
I use the same logic in other modules and it works.
I'm not using any DataReader!!!
i'm not opening or closing by code the connection!!
TIA
connection for all this data adapters. I'm using an access database and
windows forms
when I change from one record to other on the table JOBS it triggers
one event. In this event, I have a code like
System.Windows.Forms.BindingManagerBase bc;
bc = this.BindingContext[this.ds1, "jobs"];
this.ds1.WorkEmp.Clear();
if (bc.Count>0)
{
System.Data.DataRow drv;
drv = this.ds1.jobs.Rows[bc.Position];
this.daWorkEmp.SelectCommand.Parameters["njob"].Value=Convert.ToInt16(drv["njob"]);
try
{
this.daWorkEmp.Fill(this.ds1.WorkEmp); // ERROR HAPPENS HERE
}
catch (Exception e3)
{
MessageBox.Show(e3.ToString());
return ;
}
}
I got this message
"System.invalidOperationException: there is already an open DataReader
associated with this connection which must closed first"
WorkEmp.SelectCommand is like
SELECT b.firstname, b.lastname, a.empid, a.njob, b.empid AS Expr1 FROM
WorkOn a INNER JOIN employee b ON a.empid = b.empid WHERE (a.njob = ?)
I'm missing something???
I use the same logic in other modules and it works.
I'm not using any DataReader!!!
i'm not opening or closing by code the connection!!
TIA