Ejemplo n.º 1
0
        /// <summary>
        /// Kopiuje wartości z datareader'a do klasy
        /// </summary>
        public static void MatchTo <T>(
            this MyDbReader <T> DataReader,
            Boolean CaseSensitive,
            T Item)
        {
            //var lProperties = typeof(T).GetProperties();
            //var lFields = typeof(T).GetFields();

            if (!DataReader.R.IsClosed)
            {
                for (int i = 0; i < DataReader.Count; i++)
                {
                    if (DataReader.DestTypes.ContainsKey(i))
                    {
                        var setter = DataReader.DestSetters[i];
                        if (setter != null)
                        {
                            setter.SetValue(
                                Item,
                                MyTypeHelper.ConvertTo(
                                    DataReader.R.Get <Object>(i),
                                    DataReader.DestTypes[i]),
                                null);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// pobiera wartość z datareader'a i konwertuje ją
 /// </summary>
 public static T Get <T>(this IDataReader Reader, String FieldName)
 {
     if (Reader != null)
     {
         //Object lValue = Reader[FieldName];
         var    lPoz   = Reader.GetOrdinal(FieldName);
         Object lValue = Reader.GetValue(lPoz);
         if (lValue == null || lValue == DBNull.Value)
         {
             return(default(T));
         }
         else
         {
             return(MyTypeHelper.ConvertTo <T>(lValue));
         }
     }
     return(default(T));
 }
Ejemplo n.º 3
0
        public static IList <T> SelectScalars <T>(
            this DbConnection Connection,
            String SqlStatement,
            Int32 ColumnIndex = 0)
        {
            List <T> outList = new List <T>();

            ExecuteReader(
                Connection,
                SqlStatement,
                false,
                true,
                (r) =>
            {
                T value = (T)MyTypeHelper.ConvertTo(r.GetValue(ColumnIndex), typeof(T));
                outList.Add(value);
            });
            return(outList);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// pobiera wartość z datareader'a i konwertuje ją
        /// </summary>
        public static T Get <T>(
            this IDataReader Reader,
            Int32 Index)
        {
            if (Reader != null)
            {
                Object lValue = Reader.FieldCount > Index?Reader.GetValue(Index) : null;

                if (lValue == null || lValue == DBNull.Value)
                {
                    return(default(T));
                }
                else
                {
                    return(MyTypeHelper.ConvertTo <T>(lValue));
                }
            }
            return(default(T));
        }