/// <summary> /// Gets the data set. /// </summary> /// <param name="tsqlParamed">The TSQL paramed.</param> /// <param name="paramKeyAndValue">The parameter key and value.</param> /// <returns>DataSet.</returns> public virtual MDataSet GetDataSet(string tsqlParamed, params Params[] paramKeyAndValue) { MDataSet ds = new MDataSet(); using (var dr = this.Driver.CreateDataReader(tsqlParamed, CommandType.Text, CommandBehavior.CloseConnection, paramKeyAndValue)) { List <MColumn> columns = new List <MColumn>(); for (int i = 0; i < dr.FieldCount; i++) { var fieldType = dr.GetFieldType(i); var caption = dr.GetName(i); columns.Add(new MColumn(caption, fieldType)); } MDataTable dt = new MDataTable(columns); while (dr.Read()) { List <MCell> cells = new List <MCell>(); for (int i = 0; i < dr.FieldCount; i++) { var value = dr[i]; cells.Add(new MCell(columns[i], value)); } dt.AddRow(cells); } ds.Tables.Add(dt); } return(ds); }