2010-03-24 55 views
0

我需要建議。在Web服務端我有這種方法:ASMX服務端更新數據表

public DataSet GetDs(string id) 
    { 
     SqlConnection conn = null; 
     SqlDataAdapter da = null; 
     DataSet ds; 
     try 
     { 

      string sql = "SELECT * FROM Tab1"; 

      string connStr = WebConfigurationManager.ConnectionStrings["Employees"].ConnectionString; 

      conn = new SqlConnection(connStr); 
      conn.Open(); 

      da = new SqlDataAdapter(sql, conn); 

      ds = new DataSet(); 
      da.Fill(ds, "Tab1"); 

      return ds; 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
     finally 
     { 
      if (conn != null) 
       conn.Close(); 
      if (da != null) 
       da.Dispose(); 
     } 
    } 

它將數據集返回到客戶端應用程序。我的客戶端應用程序是datagridview中的數據集綁定。客戶端可以插入,更新,刪除表中的行。 如果客戶端完成他的工作,我想接受Web服務端數據表中的更改。

我可以發送客戶端所有數據集無更新表Web服務端,但我只想發送更改的數據。 有什麼建議嗎?謝謝你。

回答

1

可以使用DataSet.GetChanges()方法來檢索僅包含自上次調用AcceptChanges()以來所做更改的DataSet副本。