如已成生dataset,想查找:站号=“80”的某条记录应用哪种方式好用,是foreach遍历,还是dataset.tables[0].select方法请教大家

解决方案 »

  1.   

    DataRow[] dataRows = ds.Tables[0].Select("");
    DataView dv=ds.Tables[0].DefaultView;
    dv.RowFilter="";
    对于涉及到非主键列的查询,可以使用DataView为数据的多个查询提高性能
    DataTable.Select 效率高一些
      

  2.   

    如已成生dataset,想查找:站号=“80”的某条记录
    这个查询应该定义在一个查询窗口里面再次进行查询用SELECT 方法
      

  3.   

    if(ds.Tables[0].count > 0)
    {
       DataView dv = ds.Tables[0].DefaultView;
       
       //现在的数据就保存在dv中    //然后再foreach dv
       ........
    }如梦的我也学习了
      

  4.   

    或者通过拼接SQL语句来执行查询
      

  5.   

    可以查找数据了,到找到后,在类型转换时出错:无法将类型string隐式的转换为int
    在数据库的定义时,yuliang本来就是int型  DataRow[] dr = myds2.Tables[0].Select("zhanhao='" + zhanid + "'");
     if (dr != null)//找到对应站号数据
      {
       myds.Tables[0].Rows[i]["yuliang"] = Convert.ToInt32(myds.Tables[0].Rows[i]["yuliang"]) -Convert .ToInt32 (dr["yuliang"]);
      }  
    红色部分出错
      

  6.   

    DataRow[] dr 你的dr是行数组Convert .ToInt32 (dr["yuliang"]);这样得到的是什么啊,是一行,你怎么把一行转成int呢,更何况dr["yuliang"]这样写不对吧,要dr[0]["columnname"]这样吧