具体区别如下:
1、DataTable:表示内存中数据的一个表。
公共属性
Columns 获取属于该表的列的集合。
DataSet 获取此表所属的 DataSet。
DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图。
PrimaryKey 获取或设置充当数据表主键的列的数组。
Rows 获取属于该表的行的集合。
TableName 获取或设置 DataTable 的名称。
2、DataRow:表示 DataTable 中的一行数据
row["index"]
3、DataColumn:表示 DataTable 中列的架构。
好像你这样写不对哦,必须是循环行,然后循环获得每一项的值:
foreach(datarow row in datatable.rows )
row["colName"]="123";
你row["colName"]是获得这个值,而不是赋值给他
你应该声明个变量:string name=row["colName"].totring();
应该这样写吧
查找数据库表单的顺序是先行后列
foreach(datarow row in datatable.rows )
表示在表中逐行查询
row["colName"]="123";
表示查找到行后把123传值给列colname
col["rowName"]="123"//行没有名称
先找到行,再找其中第几项。
行是没有名称的,所以第二个方法不行。
DataTable是数据表,DataRow是数据行,DataColumn是数据列(也是字段)。
你第一个foreach是循环数据表中的所有行中字段名为colName的数据列,
你第二个foreach是循环数据表中的所有列中数据行为rowName的,没有这样的数据行所有这个循环是错的