本文整理汇总了C#中System.Data.SqlClient.TdsParserStateObject.ReadInt16方法的典型用法代码示例。如果您正苦于以下问题:C# TdsParserStateObject.ReadInt16方法的具体用法?C# TdsParserStateObject.ReadInt16怎么用?C# TdsParserStateObject.ReadInt16使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.SqlClient.TdsParserStateObject
的用法示例。
在下文中一共展示了TdsParserStateObject.ReadInt16方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CommonProcessMetaData
private void CommonProcessMetaData(TdsParserStateObject stateObj, _SqlMetaData col)
{
uint num5;
int length = 0;
if (this.IsYukonOrNewer)
{
num5 = stateObj.ReadUInt32();
}
else
{
num5 = stateObj.ReadUInt16();
}
byte num3 = stateObj.ReadByte();
col.updatability = (byte) ((num3 & 11) >> 2);
col.isNullable = 1 == (num3 & 1);
col.isIdentity = 0x10 == (num3 & 0x10);
stateObj.ReadByte();
col.isColumnSet = 4 == (num3 & 4);
byte tdsType = stateObj.ReadByte();
if (tdsType == 0xf1)
{
col.length = 0xffff;
}
else if (this.IsVarTimeTds(tdsType))
{
col.length = 0;
}
else if (tdsType == 40)
{
col.length = 3;
}
else
{
col.length = this.GetTokenLength(tdsType, stateObj);
}
col.metaType = MetaType.GetSqlDataType(tdsType, num5, col.length);
col.type = col.metaType.SqlDbType;
if (this._isShiloh)
{
col.tdsType = col.isNullable ? col.metaType.NullableType : col.metaType.TDSType;
}
else
{
col.tdsType = tdsType;
}
if (this._isYukon)
{
if (240 == tdsType)
{
this.ProcessUDTMetaData(col, stateObj);
}
if (col.length == 0xffff)
{
col.metaType = MetaType.GetMaxMetaTypeFromMetaType(col.metaType);
col.length = 0x7fffffff;
if ((tdsType == 0xf1) && ((stateObj.ReadByte() & 1) != 0))
{
length = stateObj.ReadByte();
if (length != 0)
{
col.xmlSchemaCollectionDatabase = stateObj.ReadString(length);
}
length = stateObj.ReadByte();
if (length != 0)
{
col.xmlSchemaCollectionOwningSchema = stateObj.ReadString(length);
}
length = stateObj.ReadInt16();
if (length != 0)
{
col.xmlSchemaCollectionName = stateObj.ReadString(length);
}
}
}
}
if (col.type == SqlDbType.Decimal)
{
col.precision = stateObj.ReadByte();
col.scale = stateObj.ReadByte();
}
if (col.metaType.IsVarTime)
{
col.scale = stateObj.ReadByte();
switch (col.metaType.SqlDbType)
{
case SqlDbType.Time:
col.length = MetaType.GetTimeSizeFromScale(col.scale);
break;
case SqlDbType.DateTime2:
col.length = 3 + MetaType.GetTimeSizeFromScale(col.scale);
break;
case SqlDbType.DateTimeOffset:
col.length = 5 + MetaType.GetTimeSizeFromScale(col.scale);
break;
}
}
if ((this._isShiloh && col.metaType.IsCharType) && (tdsType != 0xf1))
{
//.........这里部分代码省略.........
示例2: ReadSqlValueInternal
//.........这里部分代码省略.........
this.ReadSqlVariant(value, length, stateObj);
return;
case 0x68:
case 50:
value.Boolean = stateObj.ReadByte() != 0;
return;
case 0x23:
case 0x2e:
case 0x2f:
case 0x31:
case 0x33:
case 0x35:
case 0x36:
case 0x37:
case 0x39:
return;
case 0x24:
{
byte[] buffer2 = new byte[length];
stateObj.ReadByteArray(buffer2, 0, length);
value.SqlGuid = new SqlGuid(buffer2, true);
return;
}
case 0x26:
if (length == 1)
{
break;
}
if (length == 2)
{
goto Label_00FE;
}
if (length != 4)
{
goto Label_011A;
}
goto Label_010C;
case 0x30:
break;
case 0x34:
goto Label_00FE;
case 0x38:
goto Label_010C;
case 0x3a:
goto Label_0187;
case 0x3b:
goto Label_012D;
case 60:
goto Label_014E;
case 0x3d:
goto Label_01A2;
case 0x3e:
goto Label_013B;
default:
return;
}
value.Byte = stateObj.ReadByte();
return;
Label_00FE:
value.Int16 = stateObj.ReadInt16();
return;
Label_010C:
value.Int32 = stateObj.ReadInt32();
return;
Label_011A:
value.Int64 = stateObj.ReadInt64();
return;
Label_012D:
value.Single = stateObj.ReadSingle();
return;
Label_013B:
value.Double = stateObj.ReadDouble();
return;
Label_014E:
num4 = stateObj.ReadInt32();
uint num3 = stateObj.ReadUInt32();
long num2 = (num4 << 0x20) + num3;
value.SetToMoney(num2);
return;
Label_0173:
value.SetToMoney((long) stateObj.ReadInt32());
return;
Label_0187:
value.SetToDateTime(stateObj.ReadUInt16(), stateObj.ReadUInt16() * SqlDateTime.SQLTicksPerMinute);
return;
Label_01A2:
value.SetToDateTime(stateObj.ReadInt32(), (int) stateObj.ReadUInt32());
}
示例3: ProcessReturnValue
internal SqlReturnValue ProcessReturnValue(int length, TdsParserStateObject stateObj)
{
int tokenLength;
uint num8;
SqlReturnValue metaData = new SqlReturnValue {
length = length
};
if (this._isYukon)
{
metaData.parmIndex = stateObj.ReadUInt16();
}
byte num2 = stateObj.ReadByte();
if (num2 > 0)
{
metaData.parameter = stateObj.ReadString(num2);
}
stateObj.ReadByte();
if (this.IsYukonOrNewer)
{
num8 = stateObj.ReadUInt32();
}
else
{
num8 = stateObj.ReadUInt16();
}
stateObj.ReadUInt16();
byte tdsType = stateObj.ReadByte();
if (tdsType == 0xf1)
{
tokenLength = 0xffff;
}
else if (this.IsVarTimeTds(tdsType))
{
tokenLength = 0;
}
else if (tdsType == 40)
{
tokenLength = 3;
}
else
{
tokenLength = this.GetTokenLength(tdsType, stateObj);
}
metaData.metaType = MetaType.GetSqlDataType(tdsType, num8, tokenLength);
metaData.type = metaData.metaType.SqlDbType;
if (this._isShiloh)
{
metaData.tdsType = metaData.metaType.NullableType;
metaData.isNullable = true;
if (tokenLength == 0xffff)
{
metaData.metaType = MetaType.GetMaxMetaTypeFromMetaType(metaData.metaType);
}
}
else
{
if (metaData.metaType.NullableType == tdsType)
{
metaData.isNullable = true;
}
metaData.tdsType = tdsType;
}
if (metaData.type == SqlDbType.Decimal)
{
metaData.precision = stateObj.ReadByte();
metaData.scale = stateObj.ReadByte();
}
if (metaData.metaType.IsVarTime)
{
metaData.scale = stateObj.ReadByte();
}
if (tdsType == 240)
{
this.ProcessUDTMetaData(metaData, stateObj);
}
if (metaData.type == SqlDbType.Xml)
{
if ((stateObj.ReadByte() & 1) != 0)
{
num2 = stateObj.ReadByte();
if (num2 != 0)
{
metaData.xmlSchemaCollectionDatabase = stateObj.ReadString(num2);
}
num2 = stateObj.ReadByte();
if (num2 != 0)
{
metaData.xmlSchemaCollectionOwningSchema = stateObj.ReadString(num2);
}
short num7 = stateObj.ReadInt16();
if (num7 != 0)
{
metaData.xmlSchemaCollectionName = stateObj.ReadString(num7);
}
}
}
else if (this._isShiloh && metaData.metaType.IsCharType)
{
metaData.collation = this.ProcessCollation(stateObj);
int codePage = this.GetCodePage(metaData.collation, stateObj);
//.........这里部分代码省略.........