Debido a que debo trabajar en forma hibrida (ADODB y ODBC) el código que
perfectamente esta trabajando en ADODB, lo tuve que adaptar para que
trabaje ademas con ODBC...

Este es el código...

*Local loRecordSet,lcArchBin,llHuboError*
*IF
File(Thisform.pfmModulo.pInformes.pfmPreferencias.pCabecera.imgRutaLogo.Picture)*
*
lcArchBin=Createbinary(Filetostr(Thisform.pfmModulo.pInformes.pfmPreferencias.pCabecera.imgRutaLogo.Picture))*
*ENDIF *
*If _Screen.UsoDsn*
* lcSql="Update Ajustes Set Logo=?lcArchBin"*
* lnResp=SQLEXEC(Thisform.ConexionActual,lcSql)*
* llHuboError=!CapturaErrorODBC(lnResp,lcSql)*
*Else*
lcSql="SELECT logo FROM Ajustes"
 loRecordSet=Createobject("ADODB.RECORDSET")
loRecordSet.Open(lcSql, Thisform.Conexionactual , 01, 03)
 If loRecordSet.recordcount>0
loRecordSet.Fields(0).Value = lcArchBin
Try
 loRecordSet.Update()
Catch To loError
llHuboError=.T.
 Do RegistraLog With
Datetime(),_Screen.UsrName,_Screen.AppName,3,loError.Procedure,loError.Lineno,lcSql,;
ICASE(' OLE '$loError.Message,'OLE',' ODBC
'$loError.Message,'ODBC','VFP'),loError.ErrorNo,loError.Message
 Endtry
Endif
*Endif*
*If llHuboError*
* Messagebox("Se produjo un error interno durante la grabación.",16,"Avise
a Sistemas")*
*Endif*
*Return !llHuboError*

Y este es el error que me captura

Error de conectividad: [Microsoft][SQL Server Native Client 10.0][SQL
Server]Operand type clash: bit is incompatible with image

Para que quede claro que es lo que se ejecuta en modo ODBC les puse en
negrita las lineas...

Espero sus comentarios.

Saludos,

Pancho
Córdoba

Responder a