You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
4.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace Mesnac.Basic
{
/// <summary>
/// 数据处理器
/// </summary>
public class DataProcessor
{
/// <summary>
/// 获取Short数据列的值
/// </summary>
/// <param name="dr"></param>
/// <param name="field"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static short RowValue(DataRow dr, string field, short defaultValue)
{
short Result = defaultValue;
if (dr.Table.Columns.Contains(field))
{
if (dr[field] != null && dr[field] != DBNull.Value)
{
if (short.TryParse(dr[field].ToString(), out Result))
{
return Result;
}
}
}
else
{
ICSharpCode.Core.LoggingService.Error("DataTable中不存在[" + field + "]列!");
}
return defaultValue;
}
/// <summary>
/// 获取整型数据列的值
/// </summary>
/// <param name="dr"></param>
/// <param name="field"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static int RowValue(DataRow dr, string field, int defaultValue)
{
int Result = defaultValue;
if (dr.Table.Columns.Contains(field))
{
if (dr[field] != null && dr[field] != DBNull.Value)
{
if (int.TryParse(dr[field].ToString(), out Result))
{
return Result;
}
}
}
else
{
ICSharpCode.Core.LoggingService.Error("DataTable中不存在[" + field + "]列!");
}
return defaultValue;
}
/// <summary>
/// 获取double数据列的值
/// </summary>
/// <param name="dr"></param>
/// <param name="field"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static double RowValue(DataRow dr, string field, double defaultValue)
{
double Result = defaultValue;
if (dr.Table.Columns.Contains(field))
{
if (dr[field] != null && dr[field] != DBNull.Value)
{
if (double.TryParse(dr[field].ToString(), out Result))
{
return Result;
}
}
}
else
{
ICSharpCode.Core.LoggingService.Error("DataTable中不存在[" + field + "]列!");
}
return defaultValue;
}
/// <summary>
/// 获取DateTime数据列的值
/// </summary>
/// <param name="dr"></param>
/// <param name="field"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static DateTime RowValue(DataRow dr, string field, DateTime defaultValue)
{
DateTime Result = defaultValue;
if (dr.Table.Columns.Contains(field))
{
if (dr[field] != null && dr[field] != DBNull.Value)
{
if (DateTime.TryParse(dr[field].ToString(), out Result))
{
return Result;
}
}
}
else
{
ICSharpCode.Core.LoggingService.Error("DataTable中不存在[" + field + "]列!");
}
return defaultValue;
}
/// <summary>
/// 获取字符串数据列的值
/// </summary>
/// <param name="dr"></param>
/// <param name="field"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static string RowValue(DataRow dr, string field, string defaultValue)
{
if (dr.Table.Columns.Contains(field))
{
if (dr[field] != null && dr[field] != DBNull.Value)
{
return dr[field].ToString().Trim();
}
}
else
{
ICSharpCode.Core.LoggingService.Error("DataTable中不存在[" + field + "]列!");
}
return defaultValue;
}
}
}