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.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

浙公网安备 33010602011771号