示例#1
0
        public void Write <R>(IDataOutput <R> o) where R : IDataOutput <R>
        {
            int count = reader.FieldCount;

            for (int i = 0; i < count; i++)
            {
                string name = reader.GetName(i);
                uint   oid  = reader.GetDataTypeOID(i);

                if (reader.IsDBNull(i))
                {
                    o.PutNull(name);
                    continue;
                }

                if (oid == 1043 || oid == 1042)
                {
                    o.Put(name, reader.GetString(i));
                }
                else if (oid == 790) // money
                {
                    o.Put(name, reader.GetDecimal(i));
                }
            }
        }
示例#2
0
 public void Write <R>(IDataOutput <R> o) where R : IDataOutput <R>
 {
     for (int i = 0; i < Count; i++)
     {
         JMbr  mbr = this[i];
         JType t   = mbr.type;
         if (t == JType.Array)
         {
             o.Put(mbr.Name, (JArr)mbr);
         }
         else if (t == JType.Object)
         {
             o.Put(mbr.Name, (JObj)mbr);
         }
         else if (t == JType.String)
         {
             o.Put(mbr.Name, (string)mbr);
         }
         else if (t == JType.Number)
         {
             o.Put(mbr.Name, (JNumber)mbr);
         }
         else if (t == JType.True)
         {
             o.Put(mbr.Name, true);
         }
         else if (t == JType.False)
         {
             o.Put(mbr.Name, false);
         }
         else if (t == JType.Null)
         {
             o.PutNull(mbr.Name);
         }
     }
 }