internal void ReadSqlValueInternal(SqlBuffer value, byte tdsType, int typeId, int length, TdsParserStateObject stateObj) { int num4; switch (tdsType) { case 0x7f: goto Label_011A; case 0xa5: case 0xad: case 0x22: case 0x25: case 0x2d: { byte[] buff = new byte[length]; stateObj.ReadByteArray(buff, 0, length); value.SqlBinary = new SqlBinary(buff, true); return; } case 0x6d: if (length != 4) { goto Label_013B; } goto Label_012D; case 110: if (length == 4) { goto Label_0173; } goto Label_014E; case 0x6f: if (length != 4) { goto Label_01A2; } goto Label_0187; case 0x7a: goto Label_0173; case 0x62: 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()); }