O exemplo esta usando Fivewin para compilação, mas o codigo pode ser totalmente transportado para uso com Harbour ou xHarbour sem problemas.
Com xHarbour modifique a chamada TOLEAuto():New() por CreateObject().
O intuito é mostrar uma forma de APPENDar dados em uma tabela .DBF num site remoto usando em conjunto com um script ADP ou PHP. Neste exemplo usei .ASP.
Código: Selecionar todos
#include "fivewin.ch"
Function Main()
LOCAL loHyperlink := TOLEAuto():New( "Microsoft.XmlHttp" )
//
set default to "c:\SeuSistema"
use clientes new shared
//
do while .not. eof()
if !empty(clientes->campo1)
cURL := "http://www.SeuDominio.com.br/salva.asp"
cURL := cURL + "?campo1="+clientes->campo1
cURL := cURL + "&campo2="+clientes->campo2
//
loHyperlink:Open( "POST", cURL, .F. )
loHyperlink:Send( "" )
//
MsgRun("Adicionei mais um")
endif
skip
enddo
//
return nil
Código: Selecionar todos
<%
' Codigo exemplo de salvamento de variaveis via HTTP GET
' podendo ou nao ser retornado apenas o valor inteiro.
'------------------------------------------------------------
pos = instrrev(lcase(request.servervariables("path_translated")),lcase(scriptrelativefolder)& "\" & lcase(formaction))
db_dir = left(request.servervariables("path_translated"), pos-1 )
db = db_dir & ".\"
' Campos Recuperados
campo1 = replace( request.QueryString("campo1"), "'", "''")
campo2 = replace( request.QueryString("campo2"), "'", "''")
set cnn= server.createobject("adodb.connection")
cnn.open "Driver={Microsoft dBase Driver (*.dbf)};;DBQ="& db &";"
cnn.execute("INSERT INTO tabela(campo1,campo2)" & _
"VALUES ('"&_
campo1&"','"&_
campo2&"')" )
Set cnn = Nothing
Set Mail = Nothing
%>
Código: Selecionar todos
http://www.SeuDominio.com.br/salva.asp?campo1=DadosNoCampo1&campo2=DadosNoCampo2
É uma saida super simples e rapida e para os que usam Clipper e desejem usar um recurso semelhante podem usar os recursos da WAPI(Verifiquem com o Maligno algo a respeito, acho que ja funciona).
