我再详细说明一下:
例如:
我们可以通过 WebService 返回一个数据集到客户端:
public DataSet RetrieveData(); //返回数据集,到了客户端我们可以把它装到 Table 中去编辑。
public bool DeleteData(string ID); //删除表中指定记录
public bool UpdateData(DataSet); //更新数据集,我目前用的是先 Delete ,再 Insert 到表中。大家讨论一下关于更新数据集,各位还有什么更好的方法吗?
例如:
我们可以通过 WebService 返回一个数据集到客户端:
public DataSet RetrieveData(); //返回数据集,到了客户端我们可以把它装到 Table 中去编辑。
public bool DeleteData(string ID); //删除表中指定记录
public bool UpdateData(DataSet); //更新数据集,我目前用的是先 Delete ,再 Insert 到表中。大家讨论一下关于更新数据集,各位还有什么更好的方法吗?
例如:
[WebMethod]
public bool SetDS(DataSet ds) //类似于这种
{
return true;
}
public bool Update( DataSet ds )
{
SqlConnection sqlConn = new SqlConnection();
sqlConn.ConnectionString = yourConnectionString; try
{
sqlConn.Open();//Connect to sql server
}
catch( Exception err )
{
Debug.WriteLine( err.Message );
return false;
} SqlDataAdapter myDAdapter = new SqlDataAdapter();
string strQuery = "Update EmployeeInfo "
+ " SET EmployeeName = @EmployeeName "
+ " WHERE EmployeeID = @EmployeeID "; myDAdapter.UpdateCommand = new SqlCommand( strQuery );
myDAdapter.UpdateCommand.Connection = sqlConn; myDAdapter.UpdateCommand.Parameters.Add( "@EmployeeName",
SqlDbType.VarChar, 20, "EmployeeName" );
SqlParameter parID = myDAdapter.UpdateCommand.Parameters.Add( "@EmployeeID",
SqlDbType.Int );
parID.SourceColumn = "EmployeeID"; try
{
myDAdapter.Update( ds, "EmployeeInfo" );
myDAdapter.Dispose();
sqlConn.Close();
}
catch( Exception err )
{
Debug.WriteLine( err.Message );
sqlConn.Close();
return false;
}
return true;
}
DataSet ds = previousDS.GetChanges();
来获得需要更新的记录集,这样可以减少信息传递。
在服务器端组合sql语句做update