Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Mapping SqlDataReader results to classes
- public static Listing Get(SqlConnection connection,int listingId)
- {
- Listing listing = null;
- SqlDataReader reader = null;
- try
- {
- SqlCommand cmd = Global.GetSQLCommand("[Listing].[GetDetails]", connection);
- Global.AddIntParameter(cmd, "@pListingId", listingId);
- reader = cmd.ExecuteReader();
- var colDictionary = Global.GetColumnsInReader(reader);
- while (reader.Read())
- {
- listing = new Listing(reader,colDictionary);
- }
- }
- catch (Exception e)
- {
- Global.HandleException(e);
- }
- finally
- {
- Global.DestroyReader(reader);
- }
- return listing;
- }
- SqlCommand cmd = Global.GetSQLCommand("[Listing].[GetDetails]", connection);
- Global.AddIntParameter(cmd, "@pListingId", listingId);
- reader = cmd.ExecuteReader();
- public static Dictionary<String,Int32> GetColumnsInReader(SqlDataReader reader)
- {
- Dictionary<String, Int32> columns = new Dictionary<String, Int32>();
- for (int i = 0; i < reader.FieldCount; i++)
- {
- String columnName = reader.GetName(i);
- int columnIndex = reader.GetOrdinal(columnName);
- columns.Add(columnName, columnIndex);
- }
- return columns;
- }
- var colDictionary = Global.GetColumnsInReader(reader);
- while (reader.Read())
- {
- listing = new Listing(reader,colDictionary);
- }
- public Listing(SqlDataReader reader, Dictionary<String, Int32> colDictionary)
- : base(reader, colDictionary, "ListingId")
- {
- _comment = Global.GetStringData(reader,colDictionary, "Comment");
- _description = Global.GetStringData(reader,colDictionary,"Description");
- _detailViewCount = Global.GetIntData(reader, colDictionary, "DetailViewCount");
- _vehicle = new Vehicle(reader, colDictionary);
- }
- public static String GetStringData(SqlDataReader reader, Dictionary<String, Int32>
- colDictionary, String columnName)
- {
- int columnIndex = 0;
- if (colDictionary.TryGetValue(columnName, out columnIndex))
- {
- if (reader.IsDBNull(columnIndex))
- return "";
- var test = reader.GetValue(columnIndex);
- return Convert.ToString(test);
- }
- return null;
- }
Add Comment
Please, Sign In to add comment