public List <VotationOQU> ReportIndex(OleDbConnection db, OleDbConnection db2, OleDbConnection db3) { List <VotationOQU> lst = new List <VotationOQU>(); DataSet ds = new DataSet(); try { OleDbDataAdapter da = new OleDbDataAdapter("SELECT V.ID,V.TITLE,TG.DESCRIPCION,V.STATUS,V.TYPE,Count(Q.Id) AS PREGUNTAS,V.USERS FROM ((TB_VOTATION V LEFT JOIN TB_VOTATION_GRAPHIC G ON G.VotationId = V.id) LEFT JOIN TB_VOTATION_QUESTIONS Q ON Q.VotationId = V.id) LEFT JOIN TB_TYPEGRAPHIC TG ON TG.ID = G.ID WHERE V.STATUS = 1 OR V.STATUS = 2 GROUP BY V.ID,V.TITLE,G.ID,V.STATUS,V.TYPE,V.USERS,TG.DESCRIPCION", db); da.Fill(ds); db.Close(); DataTable dt = ds.Tables[0]; foreach (DataRow rows in dt.Rows) { VotationOQU oQU = new VotationOQU(); oQU.idVotation = int.Parse(rows["ID"].ToString()); oQU.title = rows["TITLE"].ToString(); oQU.graphic = rows["DESCRIPCION"].ToString(); oQU.status = u.getStatusV(rows["STATUS"].ToString()); oQU.type = u.getTypeV(rows["TYPE"].ToString()); oQU.questions = int.Parse(rows["PREGUNTAS"].ToString()); oQU.options = lstOptions(oQU.idVotation, db2).Count(); oQU.users = int.Parse(rows["USERS"].ToString()); oQU.usersregister = lstUserinVotation(oQU.idVotation, db3).Count(); lst.Add(oQU); } } catch (Exception) { VotationOQU oQU = new VotationOQU(); lst.Add(oQU); } return(lst); }