Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to ADO?
Message
From
18/09/2002 10:07:21
 
General information
Forum:
Visual FoxPro
Category:
Other
Title:
Miscellaneous
Thread ID:
00701705
Message ID:
00701780
Views:
20
LPARAMETERS tcDataSource,tcProvider

IF VARTYPE(tcDataSource) <> [C] OR JUSTEXT(tcDataSource) <> [DBC]
	MessageBox([Uma base de dados deve ser informada para que a conexão possa ser estabelecida.],64,[Atenção.])
	RETURN .F.
ENDIF 

IF VARTYPE(tcProvider) <> [C]
	tcProvider = [VFPOleDB.1]
ENDIF

LOCAL oConn AS [AdoDB.Connection],oRS AS [AdoDB.RecordSet]			,;
	  oCmd  AS [AdoDB.Command],oPrm1 AS [AdoDB.Parameter]			,;
	  oPrm2 AS [AdoDB.Parameter]
	  
LOCAL lcConnString AS String,lnRetVal AS Integer

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 = ] + tcProvider + [; Data Source = ] + tcDataSource
oConn.CursorLocation = 3  && adUseClient
oCOnn.Mode = 16  && adModeShareDenyNone
oConn.Open(lcConnString)
oCmd.CommandType = 8 
oCmd.CommandText = [_st_GeraId] && Nome da Procedure
oCmd.ActiveConnection = oConn
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
Pablo Márcio de Oliveira

Inside the scream is silent, inside it must remain
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform