DataRow dr=new DataRow();

你是否试过DataRow dr=new DataRow();呢 如果你用过上面的语句,那么我断定你肯定会看到下面的错误
“System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制??
右键,转到定义,你会发现在DataRow 类的声明的地方用了protected关键字
然而你可能很快想到直接: System.Data.DataRow dr =dataaccess.getfirstrow(articleid);
问题解决。
但是探讨protected的原因是很有必要的,因为这样能让我们以后对类的设计更健康
原因: 如果要使用构造函数实例化一个数据行时,根本无法确定该数据行的结构,需要由表的结构来确定行的结构。 所以不应该是:
        System.Data.DataRow dr = new System.Data.DataRow();
而应该是:
 DataTable dt=new DataTable();
       System.Data.DataRow dr = dt.NewRow();        //dt是一个包含列集合的DataTable
posted @ 2013-05-20 22:52  深蓝rgb  阅读(2218)  评论(0)    收藏  举报