标签:
DBNull 是一个单独的类,这意味着该类只能存在此实例。它指数据库中数据为空(<NULL>)时,在.net中的值
如果数据库字段的数据缺失,则您可以使用 DBNull.Value 属性将 DBNull 对象值显式分配给该字段。然而,大部分数据提供程序会自动进行分配。
若要计算数据库字段以确定其值是否为 DBNull,则可以将字段值传递给 DBNull.Value.Equals 方法
DataSet不支持System.Nullable<>”的异常:
dt.Columns.Add("Commission", typeof(decimal?));
新建一个表时,这样会报错
所以就设置成int类型,但是赋值的时候用DBNull.Value
row["Commission"] = DBNull.Value;
识别数据表字段
private const string DEFAULTSQLPATTERN = "select top 1 * from {0} with (nolock)";
public static DataTable CreateDataTableByName(BaseDao baseDao, string tableName)
{
string sql = string.Format(DEFAULTSQLPATTERN, tableName);
DataTable dt = baseDao.SelectDataTable(sql);//.SelectDataSet(sql);
DataTable dtReturn = new DataTable();
List<DataColumn> list = new List<DataColumn>();
foreach (DataColumn column in dt.Columns)
{
list.Add(column);
} //根据列名重新排序
IEnumerable<DataColumn> query = null;
query = from items in list orderby items.ColumnName select items;
foreach (var item in query) {
dtReturn.Columns.Add(item.ColumnName, item.DataType);
}
return dtReturn;
}
标签:
原文地址:http://www.cnblogs.com/hongdada/p/4378606.html