如何提取DataTable中的某一列字段的所有数据,进行运算
获取DataTable某一列所有值,并存放到List中;
1)方法一:
//遍历DataTable,取出所有的ID :
List<int> lstID = (from d in dt.AsEnumerable() select d.Field<int>("ID")).ToList();
2)方法二:
List ls = new List (); //存放你一整列所有的值
DataTable dt ; //你的DataTable
foreach (DataRow dr in dt.Rows)
{
ls.Add(dr["列名"]);
}
扩展资料
1、DataTable具有.Rows,DataRow元素的集合。
每个DataRow对应于数据库中的一行,并包含一组列。
为了访问单个值,执行以下操作:
foreach(DataRow row in YourDataTable.Rows)
{
string name = row["name"].ToString();
string description = row["description"].ToString();
string icoFileName = row["iconFile"].ToString();
string installScript = row["installScript"].ToString();
}
2、从DataTable中取值
string name = dataTable1.Rows[0][0].ToString();//把DataTable中的第一个数字赋值给那么
从DataTable中筛选行(列)(DataTable的属性;Select 、like /' 李'模糊查询 、rows[] 表示一行 row[][] 表示一个数)
//选择"列1"为空的行
DataRow[] dr = dataTable1.Select("列1=null");
//选择列1 为5 的行的集合
DataRow[] dr1 = dataTable1.Select("列1=5");
//选择列1包含'李"的行的集合
DataRow[] dt2 = datatable2.Select("列1 like '李'");
参考资料
for(int i=0;i<datatable.Rows.Count;i++)
{
string strValue="";
strValue=datatable.rows[i][0].ToString();
//上面就是获取第i行第0列的值,如果要计算的话需要转换类型,如下:
int intValue=0;
int intValue=Int32.Parse(datatable.rows[i][0]);
//如果是有小数点的数据,如下:
double doubleValue=0;
double doubleValue=double.Parse(datatable.rows[i][0]);
}
数据可以取出来,计算就简单了。
如果你想求整列总和的话,可以用Datatable内置的方法:
string strSum = datatable.Compute("sum(列名)", "true").ToString(); //类型参照上面自己转,列名要写对,并且确定数据类型是数字。
给分吧!^_^
dataset ds=new dataset();
ds.tables[0];依次类推可以获取你的表,不过一般会给表一个名字在引用会方便点。
如 sqldataadapter sda=new sqldataadapter("T-SQL",conn);
dataset ds=new dataset();
sda.fill(ds,"table"); //这里是在ds里新建了一个表,叫table,注意是新建,多次执行会报错,实际使用时,可以用contain来判断是否存在同名的表
ds.tables["table"];
取数据的话,有几种方式
ds.Tables[0].Rows[0]["列名"].ToString(); //0那里那里可用循环改变,即可以rows[i]
ds.Tables[0].Columns[0].ToString();
ds.Tables[0].Columns["列名"].ToString();