andrew4582

DataExtentions

Jun 22nd, 2012
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.61 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Diagnostics;
  5. using System.Linq;
  6. using System.Text;
  7. using Oracle.DataAccess.Client;
  8.  
  9. namespace Core {
  10.  
  11.     /// <summary>
  12.     /// System.Data Extention methods
  13.     /// </summary>
  14.     [DebuggerStepThrough()]
  15.     public static class DataExtentions {
  16.  
  17.         /// <summary>
  18.         /// Gets the data value located at the specified index.
  19.         /// </summary>
  20.         /// <param name="ordinal">The index of the field to find.</param>
  21.         /// <param name="defaultValue">The value to return if reader's value is <see cref="System.DBNull"/></param>
  22.         public static T GetReaderValue<T>(this IDataReader reader,int ordinal,T defaultValue = default(T)) {
  23.  
  24.             if(reader.IsDBNull(ordinal))
  25.                 return defaultValue;
  26.            
  27.             return (T)Convert.ChangeType(reader[ordinal],typeof(T));
  28.         }
  29.  
  30.         /// <summary>
  31.         /// Gets the data value located at the name of the field
  32.         /// </summary>
  33.         /// <param name="name">The name of the field to find.</param>
  34.         /// <param name="defaultValue">The value to return if reader's value is <see cref="System.DBNull"/></param>
  35.         /// <returns></returns>
  36.         public static T GetReaderValue<T>(this IDataReader reader,string name,T defaultValue = default(T)) {
  37.             int ordinal = reader.GetOrdinal(name);
  38.  
  39.             if(reader.IsDBNull(ordinal))
  40.                 return defaultValue;
  41.             return (T)Convert.ChangeType(reader[ordinal],typeof(T));
  42.         }
  43.  
  44.         /// <summary>
  45.         /// Gets the data value located at the specified index.
  46.         /// </summary>
  47.         /// <param name="ordinal">The index of the field to find.</param>
  48.         /// <param name="defaultValue">The value to return if reader's value is <see cref="System.DBNull"/></param>
  49.         public static T GetReaderValue<T>(this OracleDataReader reader,int ordinal,T defaultValue = default(T)) {
  50.             return ((IDataReader)reader).GetReaderValue<T>(ordinal,defaultValue);
  51.         }
  52.        
  53.         /// <summary>
  54.         /// Gets the data value located at the name of the field
  55.         /// </summary>
  56.         /// <param name="name">The name of the field to find.</param>
  57.         /// <param name="defaultValue">The value to return if reader's value is <see cref="System.DBNull"/></param>
  58.         /// <returns></returns>
  59.         public static T GetReaderValue<T>(this OracleDataReader reader,string name,T defaultValue = default(T)) {
  60.             return ((IDataReader)reader).GetReaderValue<T>(name,defaultValue);
  61.         }
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment