tijian_tieying/web/Common/DataValidate.cs
2025-02-20 12:14:39 +08:00

188 lines
6.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
{
/// <summary>
/// DataValidate 的摘要说明
/// </summary>
public class DataValidate
{
public DataValidate()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//单引号替换成双引号
public static String GetQuotedString(string pStr)
{
return (pStr.Replace("'", "''"));
}
#region DataRow
#region
/// <summary>
/// 验证一个变量能否转换为字符串类型
/// </summary>
/// <param name="val">待验证变量</param>
/// <returns>如果能,返回true;否则,返回false</returns>
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
/// <summary>
/// 从一个DataRow中安全得到列colname中的值值为字符串类型
/// </summary>
/// <param name="row">数据行对象</param>
/// <param name="colname">列名</param>
/// <returns>如果值存在返回否则返回System.String.Empty</returns>
public static string ValidateDataRow_S(DataRow row, string colname)
{
if (row[colname] != DBNull.Value)
return row[colname].ToString();
else
return System.String.Empty;
}
/// <summary>
/// 从一个DataRow中安全得到列colname中的值值为整数类型
/// </summary>
/// <param name="row">数据行对象</param>
/// <param name="colname">列名</param>
/// <returns>如果值存在返回否则返回System.Int32.MinValue</returns>
public static int ValidateDataRow_N(DataRow row, string colname)
{
if (row[colname] != DBNull.Value)
return Convert.ToInt32(row[colname]);
else
return System.Int32.MinValue;
}
/// <summary>
/// 从一个DataRow中安全得到列colname中的值值为浮点数类型
/// </summary>
/// <param name="row">数据行对象</param>
/// <param name="colname">列名</param>
/// <returns>如果值存在返回否则返回System.Double.MinValue</returns>
public static double ValidateDataRow_F(DataRow row, string colname)
{
if (row[colname] != DBNull.Value)
return Convert.ToDouble(row[colname]);
else
return System.Double.MinValue;
}
/// <summary>
/// 从一个DataRow中安全得到列colname中的值值为时间类型
/// </summary>
/// <param name="row">数据行对象</param>
/// <param name="colname">列名</param>
/// <returns>如果值存在返回否则返回System.DateTime.MinValue;</returns>
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
/// <summary>
/// 从SqlDataReader中安全获取数据
/// </summary>
/// <param name="reader">数据读取器SqlDataReader</param>
/// <param name="colname">列名</param>
/// <returns>列中的字符串数据如果为空则返回System.String.Empty</returns>
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
}
}