本文整理汇总了C#中Microsoft.SqlServer.Server.SqlDataRecord.GetValue方法的典型用法代码示例。如果您正苦于以下问题:C# SqlDataRecord.GetValue方法的具体用法?C# SqlDataRecord.GetValue怎么用?C# SqlDataRecord.GetValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.SqlServer.Server.SqlDataRecord
的用法示例。
在下文中一共展示了SqlDataRecord.GetValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FillCompatibleSettersFromRecord
//.........这里部分代码省略.........
SetChars_FromRecord(sink, setters, i, metaData[i], record, 0);
break;
case SqlDbType.Real:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Single));
SetSingle_Unchecked(sink, setters, i, record.GetFloat(i));
break;
case SqlDbType.UniqueIdentifier:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Guid));
SetGuid_Unchecked(sink, setters, i, record.GetGuid(i));
break;
case SqlDbType.SmallDateTime:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime));
SetDateTime_Checked(sink, setters, i, metaData[i], record.GetDateTime(i));
break;
case SqlDbType.SmallInt:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int16));
SetInt16_Unchecked(sink, setters, i, record.GetInt16(i));
break;
case SqlDbType.SmallMoney:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlMoney));
SetSqlMoney_Checked(sink, setters, i, metaData[i], record.GetSqlMoney(i));
break;
case SqlDbType.Text:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlChars));
SetChars_FromRecord(sink, setters, i, metaData[i], record, 0);
break;
case SqlDbType.Timestamp:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlBytes));
SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0);
break;
case SqlDbType.TinyInt:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Byte));
SetByte_Unchecked(sink, setters, i, record.GetByte(i));
break;
case SqlDbType.VarBinary:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlBytes));
SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0);
break;
case SqlDbType.VarChar:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.String));
SetChars_FromRecord(sink, setters, i, metaData[i], record, 0);
break;
case SqlDbType.Xml:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlXml));
SetSqlXml_Unchecked(sink, setters, i, record.GetSqlXml(i)); // perf improvement?
break;
case SqlDbType.Variant:
object o = record.GetSqlValue(i);
ExtendedClrTypeCode typeCode = MetaDataUtilsSmi.DetermineExtendedTypeCode(o);
SetCompatibleValueV200(sink, setters, i, metaData[i], o, typeCode, 0, -1 /* no length restriction */, null /* no peekahead */);
break;
case SqlDbType.Udt:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlBytes));
SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0);
break;
case SqlDbType.Date:
case SqlDbType.DateTime2:
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime));
SetDateTime_Checked(sink, setters, i, metaData[i], record.GetDateTime(i));
break;
case SqlDbType.Time:
{ // block to scope sqlReader local and avoid conflicts
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.TimeSpan));
SqlDataRecord sqlRecord = record as SqlDataRecord;
TimeSpan ts;
if (null != sqlRecord)
{
ts = sqlRecord.GetTimeSpan(i);
}
else
{
ts = (TimeSpan)record.GetValue(i);
}
SetTimeSpan_Checked(sink, setters, i, metaData[i], ts);
}
break;
case SqlDbType.DateTimeOffset:
{ // block to scope sqlReader local and avoid conflicts
Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTimeOffset));
SqlDataRecord sqlRecord = record as SqlDataRecord;
DateTimeOffset dto;
if (null != sqlRecord)
{
dto = sqlRecord.GetDateTimeOffset(i);
}
else
{
dto = (DateTimeOffset)record.GetValue(i);
}
SetDateTimeOffset_Unchecked(sink, setters, i, dto);
}
break;
default:
Debug.Assert(false, "unsupported DbType:" + metaData[i].SqlDbType.ToString());
throw ADP.NotSupported();
}
}
}
}
示例2: FillCompatibleSettersFromRecord
//.........这里部分代码省略.........
{
SetGuid_Unchecked(sink, setters, i, record.GetGuid(i));
continue;
}
case SqlDbType.SmallDateTime:
{
SetDateTime_Checked(sink, setters, i, metaData[i], record.GetDateTime(i));
continue;
}
case SqlDbType.SmallInt:
{
SetInt16_Unchecked(sink, setters, i, record.GetInt16(i));
continue;
}
case SqlDbType.SmallMoney:
{
SetSqlMoney_Checked(sink, setters, i, metaData[i], record.GetSqlMoney(i));
continue;
}
case SqlDbType.Text:
{
SetChars_FromRecord(sink, setters, i, metaData[i], record, 0);
continue;
}
case SqlDbType.Timestamp:
{
SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0);
continue;
}
case SqlDbType.TinyInt:
{
SetByte_Unchecked(sink, setters, i, record.GetByte(i));
continue;
}
case SqlDbType.VarBinary:
{
SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0);
continue;
}
case SqlDbType.VarChar:
{
SetChars_FromRecord(sink, setters, i, metaData[i], record, 0);
continue;
}
case SqlDbType.Variant:
{
object sqlValue = record.GetSqlValue(i);
ExtendedClrTypeCode typeCode = MetaDataUtilsSmi.DetermineExtendedTypeCode(sqlValue);
SetCompatibleValueV200(sink, setters, i, metaData[i], sqlValue, typeCode, 0, -1, null);
continue;
}
case SqlDbType.Xml:
{
SetSqlXml_Unchecked(sink, setters, i, record.GetSqlXml(i));
continue;
}
case SqlDbType.Udt:
{
SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0);
continue;
}
case SqlDbType.Date:
case SqlDbType.DateTime2:
{
SetDateTime_Checked(sink, setters, i, metaData[i], record.GetDateTime(i));
continue;
}
case SqlDbType.Time:
{
SqlDataRecord record3 = record;
if (record3 == null)
{
break;
}
timeSpan = record3.GetTimeSpan(i);
goto Label_02EF;
}
case SqlDbType.DateTimeOffset:
{
SqlDataRecord record2 = record;
if (record2 == null)
{
goto Label_030C;
}
dateTimeOffset = record2.GetDateTimeOffset(i);
goto Label_0319;
}
default:
throw ADP.NotSupported();
}
timeSpan = (TimeSpan) record.GetValue(i);
Label_02EF:
SetTimeSpan_Checked(sink, setters, i, metaData[i], timeSpan);
continue;
Label_030C:
dateTimeOffset = (DateTimeOffset) record.GetValue(i);
Label_0319:
SetDateTimeOffset_Unchecked(sink, setters, i, dateTimeOffset);
}
}