OracleDataAdapter adp_dnb = new OracleDataAdapter(sql, conn);
DataTable dt_dnb = new DataTable("t_comp_dnb");
adp_dnb.Fill(dt_dnb);DataRow dr = new DataRow();
dr = dt_dnb.Rows[0];
dr得到的是dt_dnb.Rows[0]的一个副本,还是一个引用?
如果是一个引用的话,怎么才能得到DataRow的一个副本?

解决方案 »

  1.   

    引用
    要副本的话
    有DataTable.Rows.Add(dr.ItemArray)
      

  2.   

    to:fellowcheng(浮云一小朵) 
    能说清楚点儿吗,我是个新手^.^
      

  3.   

    你的意思是再添加的时候不是DataTable.Rows.Add(dr),而是DataTable.Rows.Add(dr.ItemArray)?
      

  4.   

    得到的是引用,试验下这个
    OracleDataAdapter adp_dnb = new OracleDataAdapter(sql, conn);
    DataTable dt_dnb = new DataTable("t_comp_dnb");
    adp_dnb.Fill(dt_dnb);DataRow dr = new DataRow();
    dr.ItemArray = dt_dnb.Rows[0].ItemArray;
      

  5.   

    因为DataRow 是类,得到的是引用
      

  6.   


    Object.ReferenceEquals(dt_dnb.Rows[0], dt);
    就可以知道是引用还是副本了
      

  7.   

    成功啦,就是按照mesher(Tony.J.Wang)做的,谢谢各位的帮忙,谢谢,就此结帖~~