Client Side: loXAD = CREATEOBJECT("XMLAdapter") loXAD.AddTableSchema("myview") REPLACE myview.somefield WITH "Hello World" loXAD.IsDiffgram = .T. loXAD.ToXML("lcXML", "", .F., .T., .T.) && here's your diffgram in lcXML RELEASE loXAD Server Side: loXAD = CREATEOBJECT("XMLAdapter") loXAD.LoadXML(lcXML) && load lcXML from client side loCAD = NEWOBJECT(lcClass, lcClassLib) && the "myview" cursoradapter loXAD.Tables(1).ApplyDiffgram("", loCAD)>Ok.. I'm able to update SQL server 2K using cursor adapters.. but now I'm wondering whether it wouldn't be more straightforward to use updategrams...