* EjemploADO.prg
* Algunos ejemplos de uso de ADO desde VFP * Jose M. Marcenaro - 2001/11/12 * ------------------------------------------- * Para tener intellisense de estos objetos (VFP 7) * agregué previamente la Type Library de ActiveX Data Objects * al Intellisense Manager (Solapa Types / Type Libraries) LOCAL loConn AS ADODB.CONNECTION LOCAL loCmd AS ADODB.COMMAND LOCAL loRs AS ADODB.Recordset LOCAL lcConnString AS STRING * conexion por seguridad integrada de Windows lcConnString = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI" * conexion por usuario / password de SQL Server * lcConnString = "Provider=SQLOLEDB;Data Source=MSSQL;Initial Catalog=Northwind;User Id=sa;Password=pass;" * abro la conexion loConn = CREATEOBJECT("ADODB.Connection") loConn.CursorLocation= 3 && adUseClient loConn.OPEN(lcConnString) * realizo un select simple loRs = loConn.Execute("SELECT * From Products") MostrarRecordset( loRs) loRs.CLOSE * creo un stored procedure para poder invocarlo despues ON ERROR xx=0 && ignorar si ya existe el SP loConn.Execute( ""; +"create procedure Probar (@Inicial varchar(10)) as "; +" select * from Products where ProductName like @Inicial+'%'") ON ERROR * invoco al SP recien creado loRs = loConn.Execute("exec Probar 'M'") MostrarRecordset( loRs) loRs.CLOSE * lo invoco mediante un objeto Command (acceso a coleccion parámetros) loCmd = CREATEOBJECT("ADODB.Command") loCmd.ActiveConnection = loConn loCmd.CommandText = "Probar" loCmd.CommandType = 4 && adCmdStoredProc loCmd.PARAMETERS.REFRESH && obtiene parametros del SP loCmd.PARAMETERS.ITEM(";@Inicial") = 'L' loRs = loCmd.Execute() MostrarRecordset( loRs) loRs.CLOSE RETURN ******************************************************** PROCEDURE MostrarRecordset( loRs AS ADODB.Recordset) LOCAL ln, li, lcStr lcStr = "" FOR ln = 1 TO 10 && primeros 10 registros como máximo IF loRs.EOF then EXIT FOR ENDIF FOR li=1 TO MIN(loRs.FIELDS.COUNT, 3) && primeros 3 campos como máximo lcStr = lcStr+TRANSFORM(loRs.FIELDS.ITEM(li).VALUE)+"," NEXT lcStr = lcStr+CHR(13) loRs.MoveNext NEXT MESSAGEBOX(lcStr) ENDPROCJose Marcenaro
Microsoft MVP
da Vinci - Argentina
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.