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