foreach (DataRow drCurrent1 in dsPubs1.Tables[dr["TABLE_NAME"].ToString()].Rows)
                {
                    drCurrent = tblAuthors.NewRow(); 
                  foreach (DataRow dr2 in columnTable.Rows)
                     {
                       
                        drCurrent[dr2["COLUMN_NAME"].ToString()] = drCurrent1[dr2["COLUMN_NAME"].ToString()];
                        
                        }
                     tblAuthors.Rows.Add(drCurrent);
                    
                   }
执行tblAuthors.Rows.Add(drCurrent);这一句时,如果其中一个表已经存在记录了,然后肯定是根据主键更新。这个语句该怎么写啊?我用try{}catch{},把更新写catch里面,但不知道代码怎么写。哪位大哥帮我贴一点啊

解决方案 »

  1.   

    我真的佩服楼主。这写的程序太乱了。。DataSet。。DataTable。。DataRow。。DataColomn。。全部混用。。一会这个。。一会那个。。看了半天。。愣没看懂
      

  2.   

    我是个菜鸟啊,就根据自己的想法,借点代码,然后实现自己的功能啊。好像DataSet。。DataTable。。DataRow。。DataColomn这几个是在一起用的吧?
      

  3.   

    把更新写catch里面到底知不知道try...catch...是干啥的?
      

  4.   

    知道啊,捕获错误的,如果插入错误了,捕获在catch里面执行更新。
      

  5.   

    foreach (DataRow drCurrent1 in dsPubs1.Tables[dr["TABLE_NAME"].ToString()].Rows) 
       { 
         drCurrent = tblAuthors.NewRow(); 
         foreach (DataRow dr2 in columnTable.Rows) 
         { 
              drCurrent[dr2["COLUMN_NAME"].ToString()] = drCurrent1[dr2["COLUMN_NAME"].ToString()]; 
              tblAuthors.Rows.Add(drCurrent); 
         } 

      

  6.   

    foreach (DataRow drCurrent1 in dsPubs1.Tables[dr["TABLE_NAME"].ToString()].Rows) 
      { 
            foreach (DataRow dr2 in columnTable.Rows) 
        { 
             drCurrent = tblAuthors.NewRow(); 
              drCurrent[dr2["COLUMN_NAME"].ToString()] = drCurrent1[dr2["COLUMN_NAME"].ToString()]; 
              tblAuthors.Rows.Add(drCurrent); 
        } 

    应该是这一个
      

  7.   

    foreach (DataRow drCurrent1 in dsPubs1.Tables[dr["TABLE_NAME"].ToString()].Rows) 

        foreach (DataRow dr2 in columnTable.Rows) 
        { 
            drCurrent = tblAuthors.NewRow();
            try
            { 
                drCurrent[dr2["COLUMN_NAME"].ToString()] = drCurrent1[dr2  
                 ["COLUMN_NAME"].ToString()]; 
            }
            catch
            {
                MessageBox.Show(ex.ToString());
            }
            tblAuthors.Rows.Add(drCurrent); 
        }