?? getsafedata.cs
字號:
/* *************************************
* 文件名稱:GetSafeData.cs
* 功能:該類包含一系列從DataRow和SqlDataReader對象中獲取安全數據的靜態方法
* 創建日期:2007-3-23
********************************************** */
using System;
using System.Data;
using System.Data.SqlClient;
//該源碼下載自www.51aspx.com(51aspx.com)
namespace TQMS.DataAccessHelper
{
/// <summary>
/// 從數據庫中安全獲取數據,即當數據庫中的數據為NULL時,保證讀取不發生異常。
/// </summary>
public class GetSafeData
{
#region DataRow
/// <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
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -