Exemple #1
0
        IMySqlValue IMySqlValue.ReadValue(MySqlPacket packet, long length, bool nullVal)
        {
            if (nullVal)
            return new MySqlSingle(true);

              if (length == -1)
              {
            byte[] b = new byte[4];
            packet.Read(b, 0, 4);
            return new MySqlSingle(BitConverter.ToSingle(b, 0));
              }
              return new MySqlSingle(Single.Parse(packet.ReadString(length),
             CultureInfo.InvariantCulture));
        }
Exemple #2
0
        private MySqlGuid ReadOldGuid(MySqlPacket packet, long length)
        {
            if (length == -1)
            length = (long)packet.ReadFieldLength();

              byte[] buff = new byte[length];
              packet.Read(buff, 0, (int)length);
              MySqlGuid g = new MySqlGuid(buff);
              g.OldGuids = OldGuids;
              return g;
        }
Exemple #3
0
        IMySqlValue IMySqlValue.ReadValue(MySqlPacket packet, long length, bool nullVal)
        {
            MySqlBinary b;
              if (nullVal)
            b = new MySqlBinary(type, true);
              else
              {
            if (length == -1)
              length = (long)packet.ReadFieldLength();

            byte[] newBuff = new byte[length];
            packet.Read(newBuff, 0, (int)length);
            b = new MySqlBinary(type, newBuff);
              }
              return b;
        }
Exemple #4
0
        IMySqlValue IMySqlValue.ReadValue(MySqlPacket packet, long length,
    bool nullVal)
        {
            if (nullVal)
            return new MySqlDouble(true);

              if (length == -1)
              {
            byte[] b = new byte[8];
            packet.Read(b, 0, 8);
            return new MySqlDouble(BitConverter.ToDouble(b, 0));
              }
              string s = packet.ReadString(length);
              double d;
              try
              {
            d = Double.Parse(s, CultureInfo.InvariantCulture);
              }
              catch (OverflowException)
              {
            // MySQL server < 5.5 can return values not compatible with
            // Double.Parse(), i.e out of range for double.

            if (s.StartsWith("-", StringComparison.Ordinal))
              d = double.MinValue;
            else
              d = double.MaxValue;
              }
              return new MySqlDouble(d);
        }