FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error en SQL
Posts: 198
Joined: Fri Nov 18, 2005 07:34 PM
Error en SQL
Posted: Thu Jan 25, 2018 09:12 PM

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

Posts: 198
Joined: Fri Nov 18, 2005 07:34 PM
Re: Error en SQL
Posted: Thu Jan 25, 2018 09:58 PM

Mil disculpas ya vi lo que se me paso tomar en cuenta :oops: :oops: :oops:
oRecordSet:LockType := 3 // lockoportunistic

Gracias

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Error en SQL
Posted: Fri Jan 26, 2018 12:06 AM

Using FWH Ado functions simplifies the work.

oCn := FW_OpenAdoConnection( { "MYSQL", cServer, cDatabase, cUser, cPassword }, .t. )
if oCn == nil
? "Fail"
return nil
else
? "Connected"
endif

oRs := FW_OpenRecordSet( oCn, "select * from users" )
XBROWSER oRs FASTEDIT

// Adding new record

oRs:AddNew()
oRs:Fields(...):Value := uVal
....
....
oRs:Update() // This is necessary to save changes
// oRs:Requery() // Do not use this. Not necessary

Regards



G. N. Rao.

Hyderabad, India
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Error en SQL
Posted: Fri Jan 26, 2018 12:53 AM

Mr. Rao:

In these sample is necesary install the connector?

Regards

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero

Continue the discussion