本文整理汇总了C#中System.Data.Common.DbDataReader.GetDecimal方法的典型用法代码示例。如果您正苦于以下问题:C# DbDataReader.GetDecimal方法的具体用法?C# DbDataReader.GetDecimal怎么用?C# DbDataReader.GetDecimal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Common.DbDataReader
的用法示例。
在下文中一共展示了DbDataReader.GetDecimal方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetDecimal
public static decimal? GetDecimal(DbDataReader reader, int index)
{
if (reader.IsDBNull(index))
return null;
else
return reader.GetDecimal(index);
}
示例2: Read
private Dictionary<int, Medicine> Read(DbDataReader reader, IDatabase db)
{
Dictionary<int, Medicine> medicines = new Dictionary<int, Medicine>();
while (reader.Read())
{
Medicine m = new Medicine();
m.Id = reader.GetInt32(0);
m.Name = reader.GetString(1);
m.Description = reader.GetString(2);
m.PackageSize = reader.GetInt32(3);
m.Price = Decimal.ToSingle(reader.GetDecimal(4));
m.Allergens = this.ReadAllergens(m, db);
medicines.Add(m.Id, m);
}
return medicines;
}
示例3: FillCompatibleSettersFromReader
// Copy multiple fields from reader to SmiTypedGetterSetter
// Supports V200 code path, without damaging backward compat for V100 code.
// Main differences are supporting DbDataReader, and for binary, character, decimal and Udt types.
// Assumes caller enforces that reader and setter metadata are compatible
internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, IList<SmiExtendedMetaData> metaData, DbDataReader reader) {
for (int i = 0; i < metaData.Count; i++) {
if (reader.IsDBNull(i)) {
ValueUtilsSmi.SetDBNull_Unchecked(sink, setters, i);
}
else {
switch (metaData[i].SqlDbType) {
case SqlDbType.BigInt:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int64));
SetInt64_Unchecked(sink, setters, i, reader.GetInt64(i));
break;
case SqlDbType.Binary:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray));
SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0);
break;
case SqlDbType.Bit:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Boolean));
SetBoolean_Unchecked(sink, setters, i, reader.GetBoolean(i));
break;
case SqlDbType.Char:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.CharArray));
SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0);
break;
case SqlDbType.DateTime:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime));
SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i));
break;
case SqlDbType.Decimal: { // block to scope sqlReader local to avoid conflicts
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlDecimal));
// Support full fidelity for SqlDataReader
SqlDataReader sqlReader = reader as SqlDataReader;
if (null != sqlReader) {
SetSqlDecimal_Unchecked(sink, setters, i, sqlReader.GetSqlDecimal(i));
}
else {
SetSqlDecimal_Unchecked(sink, setters, i, new SqlDecimal(reader.GetDecimal(i)));
}
}
break;
case SqlDbType.Float:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Double));
SetDouble_Unchecked(sink, setters, i, reader.GetDouble(i));
break;
case SqlDbType.Image:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray));
SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0);
break;
case SqlDbType.Int:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int32));
SetInt32_Unchecked(sink, setters, i, reader.GetInt32(i));
break;
case SqlDbType.Money:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlMoney));
SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i)));
break;
case SqlDbType.NChar:
case SqlDbType.NText:
case SqlDbType.NVarChar:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.CharArray));
SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0);
break;
case SqlDbType.Real:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Single));
SetSingle_Unchecked(sink, setters, i, reader.GetFloat(i));
break;
case SqlDbType.UniqueIdentifier:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Guid));
SetGuid_Unchecked(sink, setters, i, reader.GetGuid(i));
break;
case SqlDbType.SmallDateTime:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime));
SetDateTime_Checked(sink, setters, i,metaData[i], reader.GetDateTime(i));
break;
case SqlDbType.SmallInt:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int16));
SetInt16_Unchecked(sink, setters, i, reader.GetInt16(i));
break;
case SqlDbType.SmallMoney:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlMoney));
SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i)));
break;
case SqlDbType.Text:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.CharArray));
SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0);
break;
case SqlDbType.Timestamp:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray));
SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0);
break;
case SqlDbType.TinyInt:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Byte));
SetByte_Unchecked(sink, setters, i, reader.GetByte(i));
break;
case SqlDbType.VarBinary:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray));
SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0);
//.........这里部分代码省略.........
示例4: Map_DASHBOARD_Reclamantes_ClaimantList
private List<DASHBOARD_Reclamantes_Result.ClaimantList> Map_DASHBOARD_Reclamantes_ClaimantList(DbDataReader dbReader)
{
List<DASHBOARD_Reclamantes_Result.ClaimantList> claimantList = null;
if (dbReader.HasRows)
{
claimantList = new List<DASHBOARD_Reclamantes_Result.ClaimantList>();
while (dbReader.Read())
{
DASHBOARD_Reclamantes_Result.ClaimantList objUserList = new DASHBOARD_Reclamantes_Result.ClaimantList()
{
ReclamanteTipoDocumento = dbReader.GetInt32(0),
ReclamanteTipoDocumentoCodigo = dbReader.GetString(1),
ReclamanteNumeroDocumento = dbReader.GetString(2),
ReclamanteNombre = dbReader.GetString(3),
CEnero = dbReader.GetInt32(4),
VEnero = dbReader.GetDecimal(5),
CFebrero = dbReader.GetInt32(6),
VFebrero = dbReader.GetDecimal(7),
CMarzo = dbReader.GetInt32(8),
VMarzo = dbReader.GetDecimal(9),
CAbril = dbReader.GetInt32(10),
VAbril = dbReader.GetDecimal(11),
CMayo = dbReader.GetInt32(12),
VMayo = dbReader.GetDecimal(13),
CJunio = dbReader.GetInt32(14),
VJunio = dbReader.GetDecimal(15),
CJulio = dbReader.GetInt32(16),
VJulio = dbReader.GetDecimal(17),
CAgosto = dbReader.GetInt32(18),
VAgosto = dbReader.GetDecimal(19),
CSeptiembre = dbReader.GetInt32(20),
VSeptiembre = dbReader.GetDecimal(21),
COctubre = dbReader.GetInt32(22),
VOctubre = dbReader.GetDecimal(23),
CNoviembre = dbReader.GetInt32(24),
VNoviembre = dbReader.GetDecimal(25),
CDiciembre = dbReader.GetInt32(26),
VDiciembre = dbReader.GetDecimal(27)
};
objUserList.ReclamanteDocInfo = String.Format("{0}: {1}", objUserList.ReclamanteTipoDocumentoCodigo, objUserList.ReclamanteNumeroDocumento);
claimantList.Add(objUserList);
}
}
return claimantList;
}
示例5: ReadInternal
protected override object ReadInternal(DbDataReader reader, int ordinal, SqlRandomTableColumn columnInfo, Type asType)
{
ValidateReadType(typeof(decimal), asType);
if (reader.IsDBNull(ordinal))
return DBNull.Value;
return reader.GetDecimal(ordinal);
}
示例6: GetDecimalValue
private static decimal? GetDecimalValue(DbDataReader dataReader, int index)
{
decimal? value = null;
if (!dataReader.IsDBNull(index))
{
value = dataReader.GetDecimal(index);
}
return value;
}
示例7: FillCompatibleSettersFromReader
internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, IList<SmiExtendedMetaData> metaData, DbDataReader reader)
{
for (int i = 0; i < metaData.Count; i++)
{
object sqlValue;
DateTimeOffset dateTimeOffset;
TimeSpan timeSpan;
ExtendedClrTypeCode code;
if (reader.IsDBNull(i))
{
SetDBNull_Unchecked(sink, setters, i);
continue;
}
switch (metaData[i].SqlDbType)
{
case SqlDbType.BigInt:
{
SetInt64_Unchecked(sink, setters, i, reader.GetInt64(i));
continue;
}
case SqlDbType.Binary:
{
SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0);
continue;
}
case SqlDbType.Bit:
{
SetBoolean_Unchecked(sink, setters, i, reader.GetBoolean(i));
continue;
}
case SqlDbType.Char:
{
SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0);
continue;
}
case SqlDbType.DateTime:
{
SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i));
continue;
}
case SqlDbType.Decimal:
{
SqlDataReader reader6 = reader as SqlDataReader;
if (reader6 == null)
{
break;
}
SetSqlDecimal_Unchecked(sink, setters, i, reader6.GetSqlDecimal(i));
continue;
}
case SqlDbType.Float:
{
SetDouble_Unchecked(sink, setters, i, reader.GetDouble(i));
continue;
}
case SqlDbType.Image:
{
SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0);
continue;
}
case SqlDbType.Int:
{
SetInt32_Unchecked(sink, setters, i, reader.GetInt32(i));
continue;
}
case SqlDbType.Money:
{
SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i)));
continue;
}
case SqlDbType.NChar:
case SqlDbType.NText:
case SqlDbType.NVarChar:
{
SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0);
continue;
}
case SqlDbType.Real:
{
SetSingle_Unchecked(sink, setters, i, reader.GetFloat(i));
continue;
}
case SqlDbType.UniqueIdentifier:
{
SetGuid_Unchecked(sink, setters, i, reader.GetGuid(i));
continue;
}
case SqlDbType.SmallDateTime:
{
SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i));
continue;
}
case SqlDbType.SmallInt:
{
SetInt16_Unchecked(sink, setters, i, reader.GetInt16(i));
continue;
}
case SqlDbType.SmallMoney:
{
SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i)));
//.........这里部分代码省略.........
示例8: GetInteger
public override int GetInteger(DbDataReader rd, int i)
{
return (int)rd.GetDecimal(i);
}
示例9: GetBoolean
public override bool GetBoolean(DbDataReader rd, int i)
{
return rd.GetDecimal(i) > 0;
}
示例10: OutputRmlTable
//.........这里部分代码省略.........
{
// Debug.Assert(column.ColumnNumber < data_reader.FieldCount, "");
if (string.IsNullOrEmpty(column.Eval) == false)
{
// engine.SetGlobalValue("cell", line.GetObject(column.ColumnNumber));
engine.SetGlobalValue("rowNumber", nLineCount.ToString());
engine.SetGlobalValue("currency", new PriceUtil());
strText = engine.Evaluate(column.Eval).ToString();
}
else if (column.DataType == ColumnDataType.PriceDouble)
{
if (data_reader.IsDBNull(column.ColumnNumber) == true)
strText = column.DefaultValue;
else
{
double v = data_reader.GetDouble(column.ColumnNumber);
/*
NumberFormatInfo provider = new NumberFormatInfo();
provider.NumberDecimalDigits = 2;
provider.NumberGroupSeparator = ".";
provider.NumberGroupSizes = new int[] { 3 };
strText = Convert.ToString(v, provider);
* */
strText = v.ToString("N", nfi);
}
}
else if (column.DataType == ColumnDataType.PriceDecimal)
{
if (data_reader.IsDBNull(column.ColumnNumber) == true)
strText = column.DefaultValue;
else
{
decimal v = data_reader.GetDecimal(column.ColumnNumber);
strText = v.ToString("N", nfi);
}
}
else if (column.DataType == ColumnDataType.PriceDecimal)
{
if (data_reader.IsDBNull(column.ColumnNumber) == true)
strText = column.DefaultValue;
else
{
decimal v = data_reader.GetDecimal(column.ColumnNumber);
strText = v.ToString("N", nfi);
}
}
else if (column.DataType == ColumnDataType.Price)
{
// Debug.Assert(false, "");
if (data_reader.IsDBNull(column.ColumnNumber) == true)
strText = column.DefaultValue; // 2005/5/26
else
strText = data_reader.GetString(column.ColumnNumber); //
}
else if (column.DataType == ColumnDataType.String)
{
// strText = data_reader.GetString(column.ColumnNumber/*, column.DefaultValue*/);
// 2014/8/28
object o = data_reader.GetValue(column.ColumnNumber);
if (o != null)
strText = o.ToString();
else
strText = "";
}
else