using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; namespace ZWL.Common { /// /// DataValidate 的摘要说明 /// public class DataValidate { public DataValidate() { // // TODO: 在此处添加构造函数逻辑 // } //单引号替换成双引号 public static String GetQuotedString(string pStr) { return (pStr.Replace("'", "''")); } #region DataRow #region 验证数据类型 /// /// 验证一个变量能否转换为字符串类型 /// /// 待验证变量 /// 如果能,返回true;否则,返回false public static bool IsString(object val) { try { Convert.ToString(val); return true; } catch { return false; } } public static bool IsDouble(object val) { try { Convert.ToDouble(val); return true; } catch { return false; } } public static bool IsInt(object val) { try { Convert.ToInt32(val); return true; } catch { return false; } } public static bool IsDateTime(object val) { try { Convert.ToDateTime(val); return true; } catch { return false; } } #endregion 验证数据类型 /// /// 从一个DataRow中,安全得到列colname中的值:值为字符串类型 /// /// 数据行对象 /// 列名 /// 如果值存在,返回;否则,返回System.String.Empty public static string ValidateDataRow_S(DataRow row, string colname) { if (row[colname] != DBNull.Value) return row[colname].ToString(); else return System.String.Empty; } /// /// 从一个DataRow中,安全得到列colname中的值:值为整数类型 /// /// 数据行对象 /// 列名 /// 如果值存在,返回;否则,返回System.Int32.MinValue public static int ValidateDataRow_N(DataRow row, string colname) { if (row[colname] != DBNull.Value) return Convert.ToInt32(row[colname]); else return System.Int32.MinValue; } /// /// 从一个DataRow中,安全得到列colname中的值:值为浮点数类型 /// /// 数据行对象 /// 列名 /// 如果值存在,返回;否则,返回System.Double.MinValue public static double ValidateDataRow_F(DataRow row, string colname) { if (row[colname] != DBNull.Value) return Convert.ToDouble(row[colname]); else return System.Double.MinValue; } /// /// 从一个DataRow中,安全得到列colname中的值:值为时间类型 /// /// 数据行对象 /// 列名 /// 如果值存在,返回;否则,返回System.DateTime.MinValue; public static DateTime ValidateDataRow_T(DataRow row, string colname) { if (row[colname] != DBNull.Value) return Convert.ToDateTime(row[colname]); else return System.DateTime.MinValue; } #endregion DataRow #region DataReader /// /// 从SqlDataReader中安全获取数据 /// /// 数据读取器SqlDataReader /// 列名 /// 列中的字符串数据,如果为空,则返回System.String.Empty public static string ValidateDataReader_S(SqlDataReader reader, string colname) { if (reader.GetValue(reader.GetOrdinal(colname)) != DBNull.Value) return reader.GetString(reader.GetOrdinal(colname)); else return System.String.Empty; } public static int ValidateDataReader_N(SqlDataReader reader, string colname) { if (reader.GetValue(reader.GetOrdinal(colname)) != DBNull.Value) return reader.GetInt32(reader.GetOrdinal(colname)); else return System.Int32.MinValue; } public static double ValidateDataReader_F(SqlDataReader reader, string colname) { if (reader.GetValue(reader.GetOrdinal(colname)) != DBNull.Value) return reader.GetDouble(reader.GetOrdinal(colname)); else return System.Double.MinValue; } public static DateTime ValidateDataReader_T(SqlDataReader reader, string colname) { if (reader.GetValue(reader.GetOrdinal(colname)) != DBNull.Value) return reader.GetDateTime(reader.GetOrdinal(colname)); else return System.DateTime.MinValue; } #endregion DataReader } }