using System.Collections.Generic;``using System.Text; namespace Galsun.DALProfile``{`` ``public interface INullableReader`` ``{`` ``// Methods`` ``bool GetBoolean(``string name);`` ``byte GetByte(``string name);`` ``char GetChar(``string name);`` ``DateTime GetDateTime(``string name);`` ``decimal GetDecimal(``string name);`` ``double GetDouble(``string name);`` ``Guid GetGuid(``string name);`` ``short GetInt16(``string name);`` ``int GetInt32(``string name);`` ``long GetInt64(``string name);`` ``float GetSingle(``string name);`` ``string GetString(``string name);`` ``object GetValue(``string name);`` ``bool IsDBNull(``string name); ``}``} |
|---|
C# code?
| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 | using System;``using System.Collections.Generic;``using System.Text;``using System.Data;``using System.Data.SqlClient; namespace Galsun.DALProfile``{`` ``public sealed class NullableDataReader : IDataReader, IDisposable, IDataRecord, INullableReader`` ``{`` ``private IDataReader reader; ``public NullableDataReader(IDataReader dataReader)`` ``{`` ``this``.reader = dataReader;`` ``} ``public void Close()`` ``{`` ``this``.reader.Close();`` ``} ``public void Dispose()`` ``{`` ``if (``this``.reader != ``null``)`` ``{`` ``this``.reader.Dispose();`` ``}`` ``} ``public bool GetBoolean(``int i)`` ``{`` ``return this``.reader.GetBoolean(i);`` ``}`` ``public bool GetBoolean(``string name)`` ``{`` ``bool boolean = ``false``;`` ``if (!``this``.IsDBNull(name))`` ``{`` ``boolean = ``this``.GetBoolean(``this``.reader.GetOrdinal(name));`` ``}`` ``return boolean;`` ``}`` ``public byte GetByte(``int i)`` ``{`` ``return this``.reader.GetByte(i);`` ``}`` ``public byte GetByte(``string name)`` ``{`` ``return this``.GetByte(``this``.reader.GetOrdinal(name));`` ``}`` ``public long GetBytes(``int i, ``long fieldOffset, ``byte``[] buffer, ``int bufferoffset, ``int length)`` ``{`` ``return this``.reader.GetBytes(i, fieldOffset, buffer, bufferoffset, length);`` ``}`` ``public char GetChar(``int i)`` ``{`` ``return this``.reader.GetChar(i);`` ``}`` ``public char GetChar(``string name)`` ``{`` ``return this``.GetChar(``this``.reader.GetOrdinal(name));`` ``}`` ``public long GetChars(``int i, ``long fieldoffset, ``char``[] buffer, ``int bufferoffset, ``int length)`` ``{`` ``return this``.reader.GetChars(i, fieldoffset, buffer, bufferoffset, length);`` ``}`` ``public IDataReader GetData(``int i)`` ``{`` ``return this``.reader.GetData(i);`` ``} ``public string GetDataTypeName(``int i)`` ``{`` ``return this``.reader.GetDataTypeName(i);`` ``} ``public string GetDataTypeName(``string name)`` ``{`` ``return this``.reader.GetDataTypeName(``this``.reader.GetOrdinal(name));`` ``}`` ``public DateTime GetDateTime(``int i)`` ``{`` ``return this``.reader.GetDateTime(i);`` ``}`` ``public DateTime GetDateTime(``string name)`` ``{`` ``if (``this``.IsDBNull(name))`` ``{`` ``return DateTime.Now;`` ``}`` ``return this``.reader.GetDateTime(``this``.reader.GetOrdinal(name));`` ``}`` ``public decimal GetDecimal(``int i)`` ``{`` ``return this``.reader.GetDecimal(i);`` ``}`` ``public decimal GetDecimal(``string name)`` ``{`` ``decimal @``decimal = 0M;`` ``if (!``this``.IsDBNull(name))`` ``{`` ``@``decimal = ``this``.reader.GetDecimal(``this``.reader.GetOrdinal(name));`` ``}`` ``return @``decimal``;`` ``}`` ``public double GetDouble(``int i)`` ``{`` ``return this``.reader.GetDouble(i);`` ``}`` ``public double GetDouble(``string name)`` ``{`` ``double num = 0.0;`` ``if (!``this``.IsDBNull(name))`` ``{`` ``num = ``this``.reader.GetDouble(``this``.reader.GetOrdinal(name));`` ``}`` ``return num;`` ``} ``public Type GetFieldType(``int i)`` ``{`` ``return this``.reader.GetFieldType(i);`` ``}`` ``public Type GetFieldType(``string name)`` ``{`` ``return this``.reader.GetFieldType(``this``.reader.GetOrdinal(name));`` ``}`` ``public float GetFloat(``int i)`` ``{`` ``return this``.reader.GetFloat(i);`` ``}`` ``public Guid GetGuid(``int i)`` ``{`` ``return this``.reader.GetGuid(i);`` ``}`` ``public Guid GetGuid(``string name)`` ``{`` ``return this``.reader.GetGuid(``this``.reader.GetOrdinal(name));`` ``}`` ``public short GetInt16(``int i)`` ``{`` ``return this``.reader.GetInt16(i);`` ``}`` ``public short GetInt16(``string name)`` ``{`` ``if (``this``.IsDBNull(name))`` ``{`` ``return 0;`` ``}`` ``return this``.reader.GetInt16(``this``.reader.GetOrdinal(name));`` ``}`` ``public int GetInt32(``int i)`` ``{`` ``return this``.reader.GetInt32(i);`` ``} ``public int GetInt32(``string name)`` ``{`` ``if (``this``.IsDBNull(name))`` ``{`` ``return 0;`` ``}`` ``return this``.reader.GetInt32(``this``.reader.GetOrdinal(name));`` ``}`` ``public long GetInt64(``int i)`` ``{`` ``return this``.reader.GetInt64(i);`` ``}`` ``public long GetInt64(``string name)`` ``{`` ``if (``this``.IsDBNull(name))`` ``{`` ``return 0L;`` ``}`` ``return this``.reader.GetInt64(``this``.reader.GetOrdinal(name));`` ``}`` ``public string GetName(``int i)`` ``{`` ``return this``.reader.GetName(i);`` ``}`` ``public DateTime? GetNullableDateTime(``string name)`` ``{`` ``if (``this``.IsDBNull(name))`` ``{`` ``return null``;`` ``}`` ``return new DateTime?(``this``.reader.GetDateTime(``this``.reader.GetOrdinal(name)));`` ``}`` ``public int GetOrdinal(``string name)`` ``{`` ``return this``.reader.GetOrdinal(name);`` ``}`` ``public DataTable GetSchemaTable()`` ``{`` ``return this``.reader.GetSchemaTable();`` ``}`` ``public float GetSingle(``string name)`` ``{`` ``float @``float = 0f;`` ``if (!``this``.IsDBNull(name))`` ``{`` ``@``float = ``this``.reader.GetFloat(``this``.reader.GetOrdinal(name));`` ``}`` ``return @``float``;`` ``}`` ``public string GetString(``int i)`` ``{`` ``return this``.reader.GetString(i);`` ``} ``public string GetString(``string name)`` ``{`` ``string str = ``string``.Empty;`` ``if (!``this``.IsDBNull(name))`` ``{`` ``str = ``this``.reader.GetString(``this``.reader.GetOrdinal(name));`` ``}`` ``return str;`` ``}`` ``public object GetValue(``int i)`` ``{`` ``return this``.reader.GetValue(i);`` ``}`` ``public object GetValue(``string name)`` ``{`` ``return this``.reader.GetValue(``this``.reader.GetOrdinal(name));`` ``}`` ``public int GetValues(``object``[] values)`` ``{`` ``return this``.reader.GetValues(values);`` ``} ``public bool IsDBNull(``int i)`` ``{`` ``return this``.reader.IsDBNull(i);`` ``} ``public bool IsDBNull(``string name)`` ``{`` ``return this``.reader.IsDBNull(``this``.reader.GetOrdinal(name));`` ``} ``public bool NextResult()`` ``{`` ``return this``.reader.NextResult();`` ``} ``public bool Read()`` ``{`` ``return this``.reader.Read();`` ``}`` ``public int Depth`` ``{`` ``get`` ``{`` ``return this``.reader.Depth;`` ``}`` ``}`` ``public int FieldCount`` ``{`` ``get`` ``{`` ``return this``.reader.FieldCount;`` ``}`` ``}`` ``public bool IsClosed`` ``{`` ``get`` ``{`` ``return this``.reader.IsClosed;`` ``}`` ``}`` ``public object this``[``int i]`` ``{`` ``get`` ``{`` ``return this``.reader[i];`` ``}`` ``}`` ``public object this``[``string name]`` ``{`` ``get`` ``{`` ``return this``.reader[name];`` ``}`` ``} ``public int RecordsAffected`` ``{`` ``get`` ``{`` ``return this``.reader.RecordsAffected;`` ``}`` ``}`` ``}``} ``using (NullableDataReader reader = GetinfoListByReader(table,RowNum, orderFid, Conditions))`` ``{`` ``if (reader.Read())`` ``{`` ``foreach (PropertyInfo proper ``in type.GetProperties())`` ``{`` ``if (!reader.IsDBNull(proper.Name))`` ``proper.SetValue(obj, reader.GetValue(proper.Name), ``null``);`` ``}`` ``}`` ``} |
|---|