我要实现个功能,就是说 点击浏览 选择想要的Execle文档 然后把这个文档的内容添加到em_transferss_t 表中 em_transferss_t 表有transfers_id,transfers_OLDLANDNUM两列添加成功以后再提示,是否上传, 如果不上传, 就把em_transferss_t数据清空如果上传,就把em_transferss_t 表的数据 更新到em_transfers_t表(注意,两个表就一个s的区别)em_transfers_t 也是 transfers_id,transfers_OLDLANDNUM 这两列但是 em_transfers_t表的transfers_id是有数据的,如果是要上传, 就把刚刚从Execle文档导入的数据  根据transfers_id来更新到em_transfers_t,    transfers_id相同的话 就把em_transferss_t的transfers_OLDLANDNUM 列 更新到em_transfers_t的 transfers_OLDLANDNUM 列 
这个我很急 希望哪位大虾帮我实现下,把代码给我`` 很快的``就两个表我自己做了一个,也发在论坛上面http://topic.csdn.net/u/20100524/17/13f7b40a-00a6-439c-af71-cab5fa295fb1.html  可是没有解决  我又急着用 , 希望哪个好心人帮我下  谢谢  如果解决了 去我的上个帖子回一下 我给分``` 我分没很多了 只能发40分的贴了```

解决方案 »

  1.   

    private DataTable XlsToDataTable(String strpath)   
      {   
      DataTable dt = new DataTable();     
      string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; 
      using(OleDbConnection conn = new OleDbConnection(strConn))
       {   
      OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);  
      myCommand.Fill(dt); 
      }  
      return dt;   
      }   
    再使用SqlDataUpdater更新是没问题的
      

  2.   

    1、第一个查询死掉,改成用OracleCommand.ExecuteOracleNonQuery 方法 
    2、第二个,如果用vs自带的服务器资源管理器,连接过去也不能执行,可能是因为OracleCommand不能执行带有只查询的update,建议你写成存储过程,再调用它。你试试看,改成存储过程验证一下。验证好了告诉大家,一起了解。
      

  3.   

    找到原因了,不是因为ExecuteNoQuery方法不行。
    而是oracle的命令需要手工commit才行。所以需要在执行命令后,再执行一次commit命令,才可以。