Exemple #1
0
        /// <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);
        }