コード例 #1
0
 internal void Serialize(MyCatPacket packet, bool binary, MyCatConnectionStringBuilder settings)
 {
     if (!binary && (paramValue == null || paramValue == DBNull.Value))
     {
         packet.WriteStringNoNull("NULL");
     }
     else
     {
         if (ValueObject.MyCatDbType == MyCatDbType.Guid)
         {
             MyCatGuid g = (MyCatGuid)ValueObject;
             g.OldGuids  = settings.OldGuids;
             ValueObject = g;
         }
         if (ValueObject.MyCatDbType == MyCatDbType.Geometry)
         {
             MyCatGeometry v = (MyCatGeometry)ValueObject;
             if (v.IsNull && Value != null)
             {
                 MyCatGeometry.TryParse(Value.ToString(), out v);
             }
             ValueObject = v;
         }
         ValueObject.WriteValue(packet, binary, paramValue, Size);
     }
 }
コード例 #2
0
        public IMyCatValue GetValueObject()
        {
            IMyCatValue v = GetIMyCatValue(Type);

            if (v is MyCatByte && ColumnLength == 1 && driver.Settings.TreatTinyAsBoolean)
            {
                MyCatByte b = (MyCatByte)v;
                b.TreatAsBoolean = true;
                v = b;
            }
            else if (v is MyCatGuid)
            {
                MyCatGuid g = (MyCatGuid)v;
                g.OldGuids = driver.Settings.OldGuids;
                v          = g;
            }
            return(v);
        }