DBnull.Value

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;
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。