>oConn = CREATEOBJECT([AdoDB.Connection]) >oRS = CREATEOBJECT([AdoDB.recordSet]) >oCmd = CREATEOBJECT([AdoDB.Command]) >*-- Parâmetro OUTPUT da SP = lnId >*-- Valor de OutPut para oPrm1.Direction = 2 >*-- Parâmetro INPUT da SP = tcCampo >*-- Valor de Input para oPrm2.Direction = 1 >lcConnString = [Provider = VFPOleDB.1; Data Source = d:\TESTE\MEUBD.DBC] >oConn.CursorLocation = 2 && adUseServer >oCOnn.Mode = 16 && adModeShareDenyNone >oConn.Open(lcConnString) >oCmd.CommandType = 4 && Stored Procedure >oCmd.CommandText = [_st_GeraId] && Nome da Procedure >oPrm1 = oCmd.CreateParameter() >oPrm1.Name = [lnId] >oPrm1.Type = 3 && adInteger >oPrm1.Direction = 2 >oPrm1.Size = 4 && bytes >oPrm1.Value = 0 && inicializei o valor de retorno. >oCmd.Parameters.Append(oPrm1) >oCmd.CreateParameter() >oPrm2 = oCmd.CreateParameter() >oPrm2.Name = [tcCampo] >oPrm2.Type = 200 && adVarChar >oPrm2.Direction = 1 && input Parameter >oPrm2.Size = 25 && Um campo pode ter no máximo 25 caracteres, neste caso específico >oPrm2.Value = [MinhaPK] >oCmd.Parameters.Append(oPrm2) && Anexando outro parâmetro ao objeto oCmd >oCmd.Execute() && Para executar o Comando >>