有三个DataTable:t1,t2,t3,都有xm字段
现从t2中查找xm等于t1中xm记录,如果t2中没有该人(记录),再从t3中查找,如果还没有,则把该xm的有关字段数值赋零,怎么写?

解决方案 »

  1.   

    DataTable.select 返回的是一个DataRow数组,DataRow1如果没有返回记录,则 DataRow1.length == 0
      

  2.   

    DataRow数组是几维的,怎样获取指定行列的数据?
      

  3.   

    datarow("xm") 是你指定的的 “xm”列...
      

  4.   

    DataTable.select 返回的如果是多条记录,DataRow指代表第一条记录么?
      

  5.   

    dim dr() as datarow 
    dim i as integerfor i = 0 to t1.rows.count - 1
     
        dr() = t2.select(" xm = " & ctype(t1.rows(i)("xm"),string)nextif dr.length  = 0 then    for i = 0 to t1.rows.count - 1
     
            dim dr() as datarow = t3.select(" xm = " & ctype(t1.rows(i)("xm"),string)    nextend ifif if dr.length  = 0 then    for i = 0 to t1.rows.count - 1
     
            t1.rows(i)("xm") = "0"    nextend if
    手写的,没经过测试,只是帮忙给个思路。
      

  6.   

    T3=T2.Clone();
    for(int i=0;i<T1.Rows.Count;i++)
    {
         T3.Rows.Add(T2.Select("xm='"+T1.Rows[i]["xm"].ToString()+"'").Length!=0?T2.Select("xm='"+ken_staff_tb.Rows[i]["xm"].ToString()+"'")[0]:ken_overtime_tb.NewRow());
    Response.Write(T2.Select("xm='"+T1.Rows[i]["xm"].ToString()+"'").Length.ToString());
    }
    T3.AcceptChanges();
    为什么用Response.Write(T2.Select("xm='"+T1.Rows[i]["xm"].ToString()+"'").Length.ToString())写出来的全是0啊,应该是有记录的啊!