当前位置: 首页>>代码示例>>C#>>正文


C# DbDataReader.GetValues方法代码示例

本文整理汇总了C#中System.Data.Common.DbDataReader.GetValues方法的典型用法代码示例。如果您正苦于以下问题:C# DbDataReader.GetValues方法的具体用法?C# DbDataReader.GetValues怎么用?C# DbDataReader.GetValues使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Data.Common.DbDataReader的用法示例。


在下文中一共展示了DbDataReader.GetValues方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateValueBuffer

        public virtual ValueBuffer CreateValueBuffer(DbDataReader dataReader)
        {
            Debug.Assert(dataReader != null); // hot path
            Debug.Assert(dataReader.FieldCount >= _indexMap.Count);

            if (_indexMap.Count == 0)
            {
                return ValueBuffer.Empty;
            }

            var values = new object[dataReader.FieldCount];

            dataReader.GetValues(values);

            var remappedValues = new object[_indexMap.Count];

            for (var i = 0; i < _indexMap.Count; i++)
            {
                remappedValues[i]
                    = ReferenceEquals(values[_indexMap[i]], DBNull.Value)
                        ? null
                        : values[_indexMap[i]];
            }

            return new ValueBuffer(remappedValues);
        }
开发者ID:aishaloshik,项目名称:EntityFramework,代码行数:26,代码来源:RemappingUntypedValueBufferFactory.cs

示例2: Create

        /// <summary>
        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used 
        ///     directly from your code. This API may change or be removed in future releases.
        /// </summary>
        public virtual ValueBuffer Create(DbDataReader dataReader)
        {
            Debug.Assert(dataReader != null); // hot path

            var fieldCount = dataReader.FieldCount;

            if (fieldCount == 0)
            {
                return ValueBuffer.Empty;
            }

            var values = new object[fieldCount];

            dataReader.GetValues(values);

            _processValuesAction?.Invoke(values);

            for (var i = 0; i < fieldCount; i++)
            {
                if (ReferenceEquals(values[i], DBNull.Value))
                {
                    values[i] = null;
                }
            }

            return new ValueBuffer(values);
        }
开发者ID:RickyLin,项目名称:EntityFramework,代码行数:31,代码来源:UntypedRelationalValueBufferFactory.cs

示例3: Map

        public override object Map(DbDataReader dataReader, RowMapperContext context)
        {
            if (context.Instance == null)
            {
                context.Instance = context.PocoData.CreateObject(dataReader);
                if (context.Instance == null)
                    throw new Exception(string.Format("Cannot create POCO '{0}'. It may have no parameterless constructor or be an interface or abstract class without a Mapper factory.", context.Type.FullName));
            }
            else
            {
                _mappingOntoExistingInstance = true;
            }

            object[] values = new object[dataReader.FieldCount];
            dataReader.GetValues(values);
            _mapPlan(dataReader, values, context.Instance);

            var result = context.Instance as IOnLoaded;
            if (result != null)
            {
                result.OnLoaded();
            }

            return context.Instance;
        }
开发者ID:schotime,项目名称:NPoco,代码行数:25,代码来源:PropertyMapper.cs

示例4: ConvertDataReaderToDataTable

        public static DataTable ConvertDataReaderToDataTable(DbDataReader reader)
        {
            try
            {
                DataTable table = new DataTable();
                int fieldCount = reader.FieldCount;
                for (int fieldIndex = 0; fieldIndex < fieldCount; ++fieldIndex)
                {
                    table.Columns.Add(reader.GetName(fieldIndex), reader.GetFieldType(fieldIndex));
                }

                table.BeginLoadData();

                object[] rowValues = new object[fieldCount];
                while (reader.Read())
                {
                    reader.GetValues(rowValues);
                    table.LoadDataRow(rowValues, true);
                }
                reader.Close();
                table.EndLoadData();

                return table;

            }
            catch (Exception ex)
            {
                throw new Exception("DataReader转换为DataTable时出错!", ex);
            }
        }
开发者ID:piaolingzxh,项目名称:Justin,代码行数:30,代码来源:DBHelper.cs

示例5: CreateBuffer

        private static object[] CreateBuffer(DbDataReader dataReader)
        {
            var values = new object[dataReader.FieldCount];

            dataReader.GetValues(values);

            for (var i = 0; i < values.Length; i++)
            {
                if (ReferenceEquals(values[i], DBNull.Value))
                {
                    values[i] = null;
                }
            }

            return values;
        }
开发者ID:Nyaoso,项目名称:EntityFramework,代码行数:16,代码来源:RelationalObjectArrayValueReader.cs

示例6: FillDataTableAsync

    /// <summary>
    /// 使用指定范围内的行异步填充 DataTable 并返回。
    /// </summary>
    /// <param name="dataReader">用来读取数据的 DataReader</param>
    /// <param name="startRecord">要填充的起始记录位置</param>
    /// <param name="maxRecords">最多填充的记录条数</param>
    /// <returns>填充好的 DataTable</returns>
    public async Task<DataTable> FillDataTableAsync( DbDataReader dataReader, int startRecord, int maxRecords )
    {

      var dataTable = new DataTable();

      base.FillSchema( dataTable, SchemaType.Source, dataReader );

      var array = new object[dataReader.FieldCount];

      while ( await dataReader.ReadAsync() )
      {
        dataReader.GetValues( array );
        dataTable.LoadDataRow( array, true );
      }

      return dataTable;
    }
开发者ID:whztt07,项目名称:DbUtility,代码行数:24,代码来源:DataTableAdapter.cs

示例7: ExportExcelByTemplate

        /// <summary>
        /// 根据模板将datareaser数据导成过滤指定列的EXCEL格式
        /// </summary>
        /// <param name="dataReader">数据集</param>
        /// <param name="strFilePath">模板文件路径</param>
        /// <param name="intStartRow">起始行</param>
        /// <param name="strFileFullPath">全路径</param>
        /// <param name="arrFilterColumn">过滤指定列,列名(别名)列表</param>
        public static void ExportExcelByTemplate(DbDataReader dataReader, string strFilePath, int intStartRow, string strFileFullPath, string[] arrFilterColumn)
        {
            Workbook excelTemplate = new Workbook();
            Workbook excel = new Workbook();

            //建立excel并打开模板文件
            excelTemplate.Open(strFilePath);
            int intSheetRowCount = 0;
            int intSheetCount = 0;

            excel.Worksheets[intSheetRowCount].Copy(excelTemplate.Worksheets[0]);
            Cells cells = excel.Worksheets[intSheetCount].Cells;// sheet.Cells;
            Object[] arrObj = new Object[dataReader.FieldCount];//
            List<string> list = null;
            if (arrFilterColumn != null)
            {
                list = new List<string>(arrFilterColumn);//过滤指定列,列名(别名)列表
            }
            while (dataReader.Read())
            {
                if (intSheetRowCount == IntPageSize)
                {
                    excel.Worksheets.Add();
                    intSheetCount += 1;
                    excel.Worksheets[intSheetCount].Copy(excelTemplate.Worksheets[0]);
                    intSheetRowCount = 0;
                    cells = excel.Worksheets[intSheetCount].Cells;
                }
                if (arrFilterColumn != null)
                {
                    ArrayList arrList = new ArrayList();
                    for (int i = 0; i < dataReader.FieldCount; i++)
                    {
                        if (!Array.Exists(list.ToArray(), p =>
                                                             {
                                                                 return p.Equals(dataReader.GetName(i),
                                                                                 StringComparison.OrdinalIgnoreCase);
                                                             }))
                        {
                            arrList.Add(dataReader.GetValue((i)));
                        }
                    }
                    Object[] arrObjTmp = arrList.ToArray();
                    cells.ImportObjectArray(arrObjTmp, intStartRow + intSheetRowCount, 0, false);
                }
                else
                {
                    dataReader.GetValues(arrObj);
                    cells.ImportObjectArray(arrObj, intStartRow + intSheetRowCount, 0, false);
                }
                intSheetRowCount += 1;
            }
            excel.Worksheets.Add();
            excel.Save(strFileFullPath, SaveFormat.Auto);
        }
开发者ID:rambom,项目名称:MySource,代码行数:63,代码来源:ExcelHelper.cs

示例8: readNext

 //using querydata given
 /// <summary>
 /// reads the next row in the provided reader
 /// </summary>
 /// <param name="querysData"></param>
 /// <returns>object[] of the row </returns>
 public virtual object[] readNext(DbDataReader querysData)
 {
     object[] rowData = new object[querysData.FieldCount];
     if (querysData.Read())
     {
         querysData.GetValues(rowData);
         return rowData;
     }
     else
     {
         return null;
     }
 }
开发者ID:redrgb,项目名称:localVersonControl,代码行数:19,代码来源:dbAccess.cs


注:本文中的System.Data.Common.DbDataReader.GetValues方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。