public IEnumerable<IList<CellData>> Rows()
{
using (var odbcConnection = new OdbcConnection(_connectionString))
{
using (var odbcCommand = new OdbcCommand(_sql, odbcConnection) { CommandTimeout = 1200 })
{
SqlParametersParser.ApplySafeParameters(odbcCommand, _sql, _paramValues);
odbcCommand.Connection.Open();
using (var odbcReader = odbcCommand.ExecuteReader())
{
while (odbcReader.Read())
{
var result = new List<CellData>();
for (var i = 0; i < odbcReader.FieldCount; i++)
{
var value = odbcReader.GetValue(i);
var pdfCellData = new CellData
{
PropertyName = odbcReader.GetName(i),
PropertyValue = value == DBNull.Value ? null : value,
PropertyIndex = i
};
result.Add(pdfCellData);
}
yield return result;
}
}
}
}
}