コード例 #1
0
ファイル: Blunt.cs プロジェクト: DNCarroll/BattleAxe
 internal static void setValuesFromReader <T>(T obj, d.IDataReader reader)
     where T : class
 {
     //reader.FieldCount
     for (int i = 0; i < reader.FieldCount; i++)
     {
         var fieldName = reader.GetName(i);
         //this might be slow this is where some mapper would be handy
         //if considering larger results sets
         //which are mostly not existing
         if (reader.GetFieldType(i) == typeof(byte[]))
         {
             //reader all bytes
             long   size       = reader.GetBytes(i, 0, null, 0, 0);
             byte[] values     = new byte[size];
             int    bufferSize = 1024;
             long   bytesRead  = 0;
             int    curPos     = 0;
             while (bytesRead < size)
             {
                 bytesRead += reader.GetBytes(i, curPos, values, curPos, bufferSize);
                 curPos    += bufferSize;
             }
             obj.SetValue(fieldName, values);
         }
         else
         {
             if (reader.IsDBNull(i))
             {
                 obj.SetValue(fieldName, null);
             }
             else
             {
                 var value = reader.GetValue(i);
                 obj.SetValue(fieldName, value);
             }
         }
     }
 }
コード例 #2
0
 public byte[] PreencheAtributo(System.Data.IDataReader lDataReader, int NumeroColuna, byte[] Atributo)
 {
     if ((lDataReader.IsDBNull(NumeroColuna) == true))
     {
         Byte[] TimesTamp = new Byte[8];
         return(TimesTamp);
     }
     else
     {
         Byte[] TimesTamp = new Byte[8];
         lDataReader.GetBytes(NumeroColuna, 0, TimesTamp, 0, 8);
         return(TimesTamp);
     }
 }
コード例 #3
0
ファイル: Sharp.cs プロジェクト: DNCarroll/BattleAxe
 internal static void setValuesFromReader <T>(T obj, d.IDataReader reader)
     where T : IBattleAxe
 {
     //reader.FieldCount
     for (int i = 0; i < reader.FieldCount; i++)
     {
         var fieldName = reader.GetName(i);
         if (reader.GetFieldType(i) == typeof(byte[]))
         {
             //reader all bytes
             long   size       = reader.GetBytes(i, 0, null, 0, 0);
             byte[] values     = new byte[size];
             int    bufferSize = 1024;
             long   bytesRead  = 0;
             int    curPos     = 0;
             while (bytesRead < size)
             {
                 bytesRead += reader.GetBytes(i, curPos, values, curPos, bufferSize);
                 curPos    += bufferSize;
             }
             obj[fieldName] = values;
         }
         else
         {
             var value = reader.GetValue(i);
             if (reader.IsDBNull(i))
             {
                 obj[fieldName] = null;
             }
             else
             {
                 obj[fieldName] = value;
             }
         }
     }
 }
コード例 #4
0
ファイル: DataReader.cs プロジェクト: mountain-pier/framework
 public long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length)
 {
     return(_innerReader.GetBytes(i, fieldOffset, buffer, bufferoffset, length));
 }