2010-03-24 2 views
0

Мне нужен совет. На стороне веб-службы a у меня есть этот метод:Обновить таблицу данных на стороне обслуживания 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. Клиент может вставлять, обновлять, удалять строку из таблицы. Если клиент завершает работу, я хочу принять изменение в таблице данных на стороне веб-службы.

Я могу отправить клиентам все данные на таблицу обновления на стороне веб-службы, но я хочу отправить только измененные данные. Любые советы? Спасибо.

ответ

1

Вы можете использовать метод DataSet.GetChanges() для извлечения копии DataSet, содержащей только изменения, сделанные с момента последнего вызова AcceptChanges().

Смежные вопросы