Atualizando .DBF remotamente usando OLE e XMLDOM
Enviado: 24 Mai 2008 00:01
Amiguinhos
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.
Codigo SALVA.ASP
Caso desejem fazer o teste via IExplorer basta digitar um comando similar:
Para aqueles que necessitem colocar dados numa tabela na internet para ser visualizada ou capturada sem necessidade de uso de SQL databases, conexões, blablabla.
É 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).
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).