DOCUMENT:Q129468 17-AUG-1999 [foxpro] TITLE :HOWTO: Update a Remote Table from a Local Table PRODUCT :Microsoft FoxPro PROD/VER: OPER/SYS: KEYWORDS:kbcode KbClientServer kbDatabase kbServer kbvfp300 kbvfp500 kbvfp600 ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual FoxPro for Windows, versions 3.0, 5.0, 6.0 ------------------------------------------------------------------------------- SUMMARY ======= You can update a remote table from a local table by using SQL Pass Through commands. This article shows by example how to do it. MORE INFORMATION ================ Code Sample ----------- Use the SQLExec() command with the SQL-UPDATE command to update the remote data with the local data as demonstrated in this code: * SQL Pass Through Example Showing How to Update a remote table from a * local FoxPro table. * multdata - local data table containing two fields (ckey and cfield). * cfield - local char 10 field in multdata. * ckey - local char 10 field used as the updating key value. * * zmultaoc - remote(on SQL Server) database that contains ztest2 table. * ztest2 - remote table that is going to be updated and has fields * chardata and key that correspond the the local fields * ckey and cfield. * Define datasource, user,and password values datasrc="test" user="sa" passwd="" handle=SQLCONNECT(datasrc,user,passwd) IF handle < 0 WAIT WINDOW "Error: "+str(ERROR())+MESSAGE() ELSE WAIT WINDOW "Opening Test Data zmultaoc..ztest2" NOWAIT =SQLEXEC(handle,"use ztest2") WAIT WINDOW "Change data in BROWSE and Press CTRL+W" NOWAIT USE multdata BROWSE FIELDS cfield * Upload the data GO TOP SCAN SCATTER MEMVAR WAIT WINDOW "Updating:"+" "+ALLTRIM(m.ckey) + ; " "+ALLTRIM(m.cfield)NOWAIT retval=SQLEXEC(handle,"update zmultaoc..ztest2 set; chardata=?m.cfield where key=?m.ckey") IF retval < 0 WAIT WINDOW "Error: Update failed" ENDIF ENDSCAN * Check changes WAIT WINDOW "BRINGING BACK CHANGES TO BE VIEWED" NOWAIT retval=SQLEXEC(handle,"select * from zmultaoc..ztest2") IF retval >= 0 BROWSE ENDIF =SQLDISCONN(handle) ENDIF Additional query words: passthrough ====================================================================== Keywords : kbcode KbClientServer kbDatabase kbServer kbvfp300 kbvfp500 kbvfp600 Technology : kbVFPsearch kbAudDeveloper kbVFP300 kbVFP500 kbVFP600 Issue type : kbhowto ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1999.