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;}
时间: 2024-09-17 11:05:42