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