当前位置: 首页 > news >正文

网站建设捌金手指下拉七长沙网站推广优化

网站建设捌金手指下拉七,长沙网站推广优化,常州网站建设青之峰,有名的网站建设电话在使用DataRow读取数据时#xff0c;通常会遇到数据可能为Null, 但是又需要转换为如int等其它类型的数据#xff0c;因此就通常会写这样的代码#xff1a; if (dr[name] ! DBNull.Value dr[name] ! null){ if (!int.TryParse(dr[name].ToString(), out result… 在使用DataRow读取数据时通常会遇到数据可能为Null, 但是又需要转换为如int等其它类型的数据因此就通常会写这样的代码 if (dr[name] ! DBNull.Value dr[name] ! null){    if (!int.TryParse(dr[name].ToString(), out result))        throw new Exception(整形转换失败);} 而且这样的代码通常会大段大段出现在很多地方。对于比较懒惰的程序员来说这样的RY(repeat yourself)是一件很痛苦的事情因此是时候来想个更好的方法了。这里首先想到的就是Extension Method。 很简单的几句代码有了这个方法之后在使用DataRow时就可以通过扩展方法读取数据了 model.Id   dr.SafeReadInt32(Id,0);model.codeNum dr.GetString(codeNum); 简单但是实用的代码希望对大家在项目中有所帮助。 这里参考了,一下两篇文章并进行了代码重新组织最后是整理后类源码 使用 Extension Methods 来使 IDataReader 更加方便 C#底层SqlDataReader类常用扩展 public static class SystemDataExtension{#region DataReader 扩展public static T SafeReadT(this IDataReader reader, string fieldName, T defaultValue){try{object obj reader[fieldName];if (obj null || obj System.DBNull.Value)return defaultValue;return (T)Convert.ChangeType(obj, defaultValue.GetType());}catch{return defaultValue;}}/// summary /// 获取字符串类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static string GetString(this IDataReader dr, string name){if (dr[name] ! DBNull.Value dr[name] ! null)return dr[name].ToString();return String.Empty;}/// summary /// 获取非空类型数据 /// /summary /// param namecon/param/// param namename/param/// returns/returns public static DateTime GetDateTime(this IDataReader dr, string name){DateTime result DateTime.Now;if (dr[name] ! DBNull.Value dr[name] ! null){if (!DateTime.TryParse(dr[name].ToString(), out result))throw new Exception(日期格式数据转换失败);}return result;}/// summary /// 获取可空类型日期数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static DateTime? GetNullDateTime(this IDataReader dr, string name){DateTime? result null;DateTime time DateTime.Now;if (dr[name] ! DBNull.Value dr[name] ! null){if (!DateTime.TryParse(dr[name].ToString(), out time))throw new Exception(日期格式数据转换失败);result time;}return result;}/// summary /// 获取guid类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static Guid GetGuid(this IDataReader dr, string name){Guid guid Guid.Empty;if (dr[name] ! DBNull.Value dr[name] ! null){if (Guid.TryParse(dr[name].ToString(), out guid))throw new Exception(guid类型数据转换失败);}return guid;}/// summary /// 获取整形数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static int GetInt32(this IDataReader dr, string name){int result 0;if (dr[name] ! DBNull.Value dr[name] ! null){if (!int.TryParse(dr[name].ToString(), out result))throw new Exception(整形转换失败);}return result;}/// summary /// 获取双精度类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static double GetDouble(this IDataReader dr, string name){double result 0.00;if (dr[name] ! DBNull.Value dr[name] ! null){if (!double.TryParse(dr[name].ToString(), out result))throw new Exception(双精度类型转换失败);}return result;}/// summary /// 获取单精度类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static float GetSingle(this IDataReader dr, string name){float result 0.00f;if (dr[name] ! DBNull.Value dr[name] ! null){if (!float.TryParse(dr[name].ToString(), out result))throw new Exception(单精度类型转换失败);}return result;}/// summary /// 获取decimal类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static decimal GetDecimal(this IDataReader dr, string name){decimal result 0.00m;if (dr[name] ! DBNull.Value dr[name] ! null){if (!decimal.TryParse(dr[name].ToString(), out result))throw new Exception(Decimal类型转换失败);}return result;}/// summary /// 获取int16类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static Int16 GetInt16(this IDataReader dr, string name){short result 0;if (dr[name] ! DBNull.Value dr[name] ! null){if (!short.TryParse(dr[name].ToString(), out result))throw new Exception(短整形转换失败);}return result;}/// summary /// 获取Byte类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static byte GetByte(this IDataReader dr, string name){byte result 0;if (dr[name] ! DBNull.Value dr[name] ! null){if (!byte.TryParse(dr[name].ToString(), out result))throw new Exception(Byte类型转换失败);}return result;}/// summary /// 获取bool类型数据如果传值是1或者是返回true; /// /summary /// param namecon/param /// param namename/param /// returns/returns public static bool GetBool(this IDataReader dr, string name){if (dr[name] ! DBNull.Value dr[name] ! null){return dr[name].ToString() 1 || dr[name].ToString() 是 || dr[name].ToString().ToLower() true;}return false;} #endregion#region DataRow 扩展public static T SafeReadT(this DataRow dr, string fieldName, T defaultValue){try{object obj dr[fieldName];if (obj null || obj System.DBNull.Value)return defaultValue;return (T)Convert.ChangeType(obj, defaultValue.GetType());}catch{return defaultValue;}}/// summary /// 获取字符串类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static string GetString(this DataRow dr, string name){if (dr[name] ! DBNull.Value dr[name] ! null)return dr[name].ToString();return String.Empty;}/// summary /// 获取非空类型数据 /// /summary /// param namecon/param/// param namename/param/// returns/returns public static DateTime GetDateTime(this DataRow dr, string name){DateTime result DateTime.Now;if (dr[name] ! DBNull.Value dr[name] ! null){if (!DateTime.TryParse(dr[name].ToString(), out result))throw new Exception(日期格式数据转换失败);}return result;}/// summary /// 获取可空类型日期数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static DateTime? GetNullDateTime(this DataRow dr, string name){DateTime? result null;DateTime time DateTime.Now;if (dr[name] ! DBNull.Value dr[name] ! null){if (!DateTime.TryParse(dr[name].ToString(), out time))throw new Exception(日期格式数据转换失败);result time;}return result;}/// summary /// 获取guid类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static Guid GetGuid(this DataRow dr, string name){Guid guid Guid.Empty;if (dr[name] ! DBNull.Value dr[name] ! null){if (Guid.TryParse(dr[name].ToString(), out guid))throw new Exception(guid类型数据转换失败);}return guid;}/// summary /// 获取整形数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static int GetInt32(this DataRow dr, string name){int result 0;if (dr[name] ! DBNull.Value dr[name] ! null){if (!int.TryParse(dr[name].ToString(), out result))throw new Exception(整形转换失败);}return result;}/// summary /// 获取双精度类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static double GetDouble(this DataRow dr, string name){double result 0.00;if (dr[name] ! DBNull.Value dr[name] ! null){if (!double.TryParse(dr[name].ToString(), out result))throw new Exception(双精度类型转换失败);}return result;}/// summary /// 获取单精度类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static float GetSingle(this DataRow dr, string name){float result 0.00f;if (dr[name] ! DBNull.Value dr[name] ! null){if (!float.TryParse(dr[name].ToString(), out result))throw new Exception(单精度类型转换失败);}return result;}/// summary /// 获取decimal类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static decimal GetDecimal(this DataRow dr, string name){decimal result 0.00m;if (dr[name] ! DBNull.Value dr[name] ! null){if (!decimal.TryParse(dr[name].ToString(), out result))throw new Exception(Decimal类型转换失败);}return result;}/// summary /// 获取int16类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static Int16 GetInt16(this DataRow dr, string name){short result 0;if (dr[name] ! DBNull.Value dr[name] ! null){if (!short.TryParse(dr[name].ToString(), out result))throw new Exception(短整形转换失败);}return result;}/// summary /// 获取Byte类型数据 /// /summary /// param namedr/param /// param namename/param /// returns/returns public static byte GetByte(this DataRow dr, string name){byte result 0;if (dr[name] ! DBNull.Value dr[name] ! null){if (!byte.TryParse(dr[name].ToString(), out result))throw new Exception(Byte类型转换失败);}return result;}/// summary /// 获取bool类型数据如果传值是1或者是返回true; /// /summary /// param namecon/param /// param namename/param /// returns/returns public static bool GetBool(this DataRow dr, string name){if (dr[name] ! DBNull.Value dr[name] ! null){return dr[name].ToString() 1 || dr[name].ToString() 是 || dr[name].ToString().ToLower() true;}return false;}#endregion}转载于:https://www.cnblogs.com/IlidanStormRage/p/5737062.html
http://www.pierceye.com/news/564035/

相关文章:

  • 贵阳做网站哪家公司好dw如何在网站做弹窗
  • 怎样做网站底部导航网站建设软件sh
  • 小白学网站建设与设计书如何制作app软件下载
  • 个人网站模板源码一般vs做的网站的总体框架
  • 服务器做网站流程wordpress分站
  • 电子商务平台网站建造莒南做网站
  • 网站文章好几天不收录注册送38元的游戏网站
  • 手机营销型网站建设定制一款软件需要多少钱
  • 网站备案增加域名解析电子信息工程移动互联网 学什么
  • 怎么在网站视频做字幕河北唐山建设工程协会网站
  • 自己做网站导航页腾讯云服务器可以做传奇网站吗
  • 郑州%公司 网站建设页面设计教案
  • 昌邑建设局网站北京seo优化wyhseo
  • 网站访客抓取新媒体营销课程心得体会
  • 网站建设售前域名注册
  • 运动器材网站开发方案失信被执行人名单查询系统
  • 深圳商业网站建设模板网站建设worldpress
  • 宁波网站排名网站开发 哪家好
  • 做网站的软件工程师网站积分程序怎么建设
  • ps网站轮播图怎么做动漫制作专业的来源
  • 怎么知道一个网站是谁做的建筑认证
  • 网站关键词优化排名公司网站备案的意思
  • 怎么把qq空间做成企业网站医疗网站设计
  • 个人博客网站需求分析上海最大企业前十名
  • 兴义之窗网站怎么做网页界面设计的类别
  • 黄南州网站建设公司安徽省建设厅执业资格注册中心网站
  • wordpress布置网站教程wordpress it模板下载地址
  • 网站首页栏目设置宿州建设网站公司哪家好
  • 西安网站建设怎么接单做社交的招聘网站
  • 实训课网站开发个人小结横岗做网站