DataTable 被分配给其他 DataSet 错误
如何避免错误“DataTable 已分配给其他 DataSet”,因为方法“RetornarReporteErroresBoleta”正在将 DataTable 添加到 DataSet 中,然后,当方法“RetornarBoletasPorASA”获取 DataTable 并尝试插入到新的 DataSet 时,会发生此错误错误。那么我该如何解决这个问题?
public DataTable RetornarReporteErroresBoleta(SqlString idBoleta)
{
DataTable tablaErrores = new DataTable();
string procedimiento = "paBltMarcarErroresBoleta";
try
{
Database accesoBd = this.gBaseDatosCnx.GenerarAccesoBaseDatosSgapa();
object[] parametros = { idBoleta.Value };
DataSet dsResultado = accesoBd.ExecuteDataSet(procedimiento, parametros);
int cantidadFilas = dsResultado.Tables[0].Rows.Count;
tablaErrores = dsResultado.Tables[0];
}
catch (Exception exc)
{
string mensaje = "Mensaje: " + exc.Message + "\n";
mensaje += "Origen: " + exc.Source + "\n";
mensaje += "Pila: " + exc.StackTrace;
try
{
clsCorreoCom correo = new clsCorreoCom();
string titulo = "Problema en: " + procedimiento;
correo.enviarCorreo(titulo, mensaje, clsCorreoCom.MENSAJE_ERROR);
}
catch (Exception) { }
}
return tablaErrores;
}
public DataSet RetornarBoletasPorASA(SqlString idASA)
{
DataSet erroresBoleta = new DataSet();
string procedimiento = "paBltBuscarBoletasASA";
try
{
Database accesoBd = this.gBaseDatosCnx.GenerarAccesoBaseDatosSgapa();
object[] parametros = { idASA.Value };
DataSet dsResultado = accesoBd.ExecuteDataSet(procedimiento, parametros);
int cantidadFilas = dsResultado.Tables[0].Rows.Count;
foreach (DataRow fila in dsResultado.Tables[0].Rows)
{
string idBoleta = fila[1].ToString();
DataTable tablaErrores = RetornarReporteErroresBoleta(idBoleta);
erroresBoleta.Tables.Add(tablaErrores);
}
}
catch (Exception exc)
{
string mensaje = "Mensaje: " + exc.Message + "\n";
mensaje += "Origen: " + exc.Source + "\n";
mensaje += "Pila: " + exc.StackTrace;
try
{
clsCorreoCom correo = new clsCorreoCom();
string titulo = "Problema en: " + procedimiento;
correo.enviarCorreo(titulo, mensaje, clsCorreoCom.MENSAJE_ERROR);
}
catch (Exception) { }
}
return erroresBoleta;
}
How can avoid the error "The DataTable is assigned to other DataSet", because the method "RetornarReporteErroresBoleta" is adding the Datatable into a DataSet, then, when the method "RetornarBoletasPorASA" get the DataTable and try to insert into a new DataSet occurs this error. So how can I fix this??
public DataTable RetornarReporteErroresBoleta(SqlString idBoleta)
{
DataTable tablaErrores = new DataTable();
string procedimiento = "paBltMarcarErroresBoleta";
try
{
Database accesoBd = this.gBaseDatosCnx.GenerarAccesoBaseDatosSgapa();
object[] parametros = { idBoleta.Value };
DataSet dsResultado = accesoBd.ExecuteDataSet(procedimiento, parametros);
int cantidadFilas = dsResultado.Tables[0].Rows.Count;
tablaErrores = dsResultado.Tables[0];
}
catch (Exception exc)
{
string mensaje = "Mensaje: " + exc.Message + "\n";
mensaje += "Origen: " + exc.Source + "\n";
mensaje += "Pila: " + exc.StackTrace;
try
{
clsCorreoCom correo = new clsCorreoCom();
string titulo = "Problema en: " + procedimiento;
correo.enviarCorreo(titulo, mensaje, clsCorreoCom.MENSAJE_ERROR);
}
catch (Exception) { }
}
return tablaErrores;
}
public DataSet RetornarBoletasPorASA(SqlString idASA)
{
DataSet erroresBoleta = new DataSet();
string procedimiento = "paBltBuscarBoletasASA";
try
{
Database accesoBd = this.gBaseDatosCnx.GenerarAccesoBaseDatosSgapa();
object[] parametros = { idASA.Value };
DataSet dsResultado = accesoBd.ExecuteDataSet(procedimiento, parametros);
int cantidadFilas = dsResultado.Tables[0].Rows.Count;
foreach (DataRow fila in dsResultado.Tables[0].Rows)
{
string idBoleta = fila[1].ToString();
DataTable tablaErrores = RetornarReporteErroresBoleta(idBoleta);
erroresBoleta.Tables.Add(tablaErrores);
}
}
catch (Exception exc)
{
string mensaje = "Mensaje: " + exc.Message + "\n";
mensaje += "Origen: " + exc.Source + "\n";
mensaje += "Pila: " + exc.StackTrace;
try
{
clsCorreoCom correo = new clsCorreoCom();
string titulo = "Problema en: " + procedimiento;
correo.enviarCorreo(titulo, mensaje, clsCorreoCom.MENSAJE_ERROR);
}
catch (Exception) { }
}
return erroresBoleta;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您无法将
DataTable
添加到多个DataSet
。试试这个:You can't add a
DataTable
to more than oneDataSet
. Try this instead: