#c# #dataset
#c# #набор данных
Вопрос:
Как можно избежать ошибки «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;
}
Ответ №1:
Вы не можете добавить a DataTable
более чем к одному DataSet
. Попробуйте это вместо:
erroresBoleta.Tables.Add(tablaErrores.Copy());