*-----------------------------------------------------------------------------*
METHOD Update() CLASS DBADO
*-----------------------------------------------------------------------------*
Local oErr, lRet := .T., OleError
TRY
IF ::oRs:LockType = adLockBatchOptimistic
If !::EOF
::oRs:UpdateBatch()
Endif
ELSE
::oRs:Update()
ENDIF
CATCH oErr
// lRet := MyDefError(oErr, .F., self) // Mi manejadr de errores
OleError := ::oRs:ActiveConnection:Errors[0]
MsgStop(oErr:Description+hb_OsNewLine()+"Native Error "+STR(OleError:NativeError),"Error al guardar")
lRet := .F.
END
Return lRet
O ADO cuida de tudo isso, se eu tiver um RecordSet armado com o comando oRs: = chave SELECT, nome, endereço FROM clientes se quiser alterar o nome, só preciso fazer oRs: Campos (1): Valor: = new_name ou usando ado .prg (acabei de compartilhar um link para download) Posso executar oRs: Nome: = new_name, então oRs: Update () e pronto, ele é atualizado no banco de dados.
Usando ADO, basta atualizar o field via x:value := "X..." depois oRS:update() que atualiza ?
Não precisamos usar comandos SQL "insert into..., UPDATE..." ? se for assim tá legal.
Saudações,
Itamar M. Lins Jr.