Error en SQL

Error en SQL

Postby servicomver » Thu Jan 25, 2018 9: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
servicomver
 
Posts: 179
Joined: Fri Nov 18, 2005 7:34 pm

Re: Error en SQL

Postby servicomver » Thu Jan 25, 2018 9:58 pm

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

Gracias
servicomver
 
Posts: 179
Joined: Fri Nov 18, 2005 7:34 pm

Re: Error en SQL

Postby nageswaragunupudi » 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
User avatar
nageswaragunupudi
 
Posts: 10208
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Error en SQL

Postby Armando » 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
User avatar
Armando
 
Posts: 3049
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 10 guests