using System;数据库
using System.Data;ide
namespace Sunlib函数
{spa
public static class DataHelper对象
{ci
//将数据库数据对象转换为实体值对象string
//T:要转换的类型it
//columnName:列名class
//defValue:默认值date
public static T ToValue<T>(DataRow dr, string columnName,T defValue)
{
if(dr.Table.Columns.Contains(columnName)==true)
{
if(dr[columnName]!=DBNull.Value&&string.IsNullOrWhiteSpace(dr[columnName].ToString())==false)
{
return (T)(Convert.ChangeType(dr[columnName], typeof(T)))
}
//若是获取的字段值为空,就返回默认值
return defValue;
}
//调用函数ToValue
public void Update()
{
//省略获取Table数据部分代码
DataRow dr=ds.Tables[0].Rows[0];
//获取数据表对应字段数值,ToValue默认值很关键,默认值能够决定获取的类型
string MeterNo=ToValue(dr,"MeterNo","");//string类型默认值加双引号
decimal Insideno=ToValue(dr,"Insideno",0m);//decimal默认值能够设为0m或者decimal类型值
DateTime Reading=ToValue<DateTime>(dr,"Reading",DateTime.Now);//DateTime默认值能够设为当前值;只要默认值类型设置正确,<>能够去掉
}
}
}
}