欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

为DataColumn设置默认值(DefaultValue)

创建时间:2012年04月12日 10:41  阅读次数:(13544)
分享到:

在数据库中,如果我们为某字段设置了默认值,那么我们在添加数据的时候如果没有给该字段赋值,那么该字段就会自动将默认值填充进来。这在很多时候很大程度上给我们的的程序编写带来方便。那么,作为C#中的数据载体DataTable是不是也有默认值的设置呢?答案当然是有的,下面我们一起开始为DataTable的DataColumn设置默认值示例。

首先我们先了解一下DataColumn的DefaultValue属性:
DefaultValue-在创建新行的时候获取或者设置列的默认值

开始示例:

protected void Page_Load(object sender, EventArgs e)
{
    //创建一个新的DataTable
    DataTable dt = new DataTable();

    //创建一个新的DataColumn
    DataColumn col = new DataColumn();

    //设置DataColumn的列名
    col.ColumnName = "abcd";

    //设置DataColumn的类型
    col.DataType = typeof(decimal);

    //设置DataColumn的默认值
    col.DefaultValue = 0;

    //将DataColumn添加dt中
    dt.Columns.Add(col);

    DataRow dr = dt.NewRow();
    Response.Write(dr[0].ToString());
}

输出:0
从上面的代码可以看出,我们在声明了dr后,并没有给dr赋任何值,但dr[0]却输出了0,这就说明了该行有自动应用了col.DefaultValue设置的默认值。

在网上有看到文章说,在添加列的时候,如果是通过 DataColumn col = new DataColumn("abcd",typeof(decimal));方式添加的,那么默认值就不起作用了,这种说法是不下正确的,我们可以修改上面的代码如下:

protected void Page_Load(object sender, EventArgs e)
{
    //创建一个新的DataTable
    DataTable dt = new DataTable();

    //创建一个新的DataColumn
    DataColumn col = new DataColumn("abcd",typeof(decimal));

    //将DataColumn添加dt中
    dt.Columns.Add(col);

    //设置DataColumn的默认值
    col.DefaultValue = 0;

    DataRow dr = dt.NewRow();
    Response.Write(dr[0].ToString());
}

运行,可以看到输出结果还是:0。这说明不管通过那种构造函数创建列,只要有设置了DataColumn.DefaultValue值,都是有效的。

以上为本人测试示例,如有考虑不周全的地方,请在评论中指出斧正,谢谢支持!

o/Downloads/DownloadDetails.aspx?DownloadID=52843" />
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论2条
  • #1楼  评论人:.net  评论时间:2015-9-2 11:56:52
  • 我不知道楼主是怎么整的,应该是设置数值型,默认就是0吧,按你写的第二种是不行的,必须设置默认值在add方法前才行
  • #2楼  评论人:铿锵猪  评论时间:2016-1-18 18:22:48
  • 楼主是对的,无论之前还是之后都是可行的
发表评论:
留言人:
内  容:
请输入问题 3+98=? 的结果(结果是:101)
结  果: