Hola estoy pasando mis programas a SQL ya logré conectarme con esto:
#include "FiveWin.Ch"
#Include "Ado.ch"
FUNCTION ConnServer()
LOCAL oCone
Local cServer := "localhost" //Ubicación del servidor
Local cUser := "root" // usuario
Local cPass := "" // password del usuario
Local cDatabase := "empleados" // base de datos MySql
oCone :=tOleAuto():new("ADODB.connection")
oCone:Open( "DRIVER={MySQL ODBC 3.51 Driver};" + ;
"server=" + cServer + ;
";database=" + cDatabase + ;
";uid=" + cUser + ;
";pwd=" + cPass )
If Empty(oCone)
MsgAlert(" No se Pudo Establecer la Conexion Con La Base De Datos..","Atencion")
Return(Nil)
Else
MsgAlert(" Se establecio la Conexion Con La Base De Datos..","Atencion")
oRecordSet := TOleAuto():New("adodb.recordset")
oRecordSet:ActiveConnection(oCone)
oRecordSet:Source := "Select * from usuarios"
oRecordSet:Open()
oRecordSet:MoveFirst()
Do while ! oRecordSet:EOF()
cRFC := oRecordSet:Fields("rfc"):value
cNOMBRE := oRecordSet:Fields("nombre"):value
cCORREO := oRecordSet:Fields("correo"):value
cOCUPACION := oRecordSet:Fields("ocupacion"):value
MSGINFO(CRFC + CRLF + CNOMBRE + CRLF + CCORREO + CRLF + COCUPACION)
oRecordSet:MoveNext()
Enddo
EndIf
Return NIL
Veo todos los registros sin problema de la tabla Usuarios SQL, el problema es para agregar datos:
Var1:="AAA0100101FFF"
Var2:="NOMBRE DE PRUEBA"
Var3:="correo@hotmail.com"
Var4:="DATO 1"
oRecordSet:Addnew()
oRecordSet:Fields("rfc"):value := alltrim(Var1)
oRecordSet:Fields("nombre"):value := alltrim(Var2)
oRecordSet:Fields("correo"):value := alltrim(Var3)
oRecordSet:Fields("ocupacion"):value := alltrim(Var4)
oRecordSet:Requery()
Aun teniendo la conexion correcta sale este error:
Error description: Error adodb.recordset/16389 E_FAIL: ADDNEW
Args:
Stack Calls
===========
Called from: win32ole.prg => TOLEAUTO:ADDNEW(0)
Alguna ide de que estoy haciendo mal ???, gracias por su ayuda