Procédures stockées : Comment maximiser le nombre de paramètres passés à une pro

amok - 2 mai 2001 à 22:59
 Alsoft - 3 mai 2001 à 15:35
Voilà! j'écris en ce moment un programme VB6/Oracle8 et j'utilise des procédures stockées pour les mises à jour de mes tables; mais visual basic ne me permet pas de passer plus de 10 paramètres à mes procédures et du coup j'ai un problème (un gros ...) car je dispose de tables possédant plusieurs champs (+ de 10 en général ...)
pourriez-vous m'aider en m'indiquant un moyen qui me permettrait de maximiser le nombre de champs à passer à ma procédure ?

merci d'avance.

un programmeur qui compte sur vous.

1 réponse

si tu utilises ado alors ça marche comme cela :
Rem Déclarations dans Un module
Public Dbs As ADODB.Connection
Public Rs___ As ADODB.Recorset
Public AdoCmd As ADODB.Command
Public Params As ADODB.Params

Sub PsDonnée()

Dim SortieToto

'*************************************'
' Connexion a la Bdd

StrSql = "Provider=" & StrProvider & ";Data Source=" & StrServeur & ";User ID=" & StrUserName & ";pwd=" & StrPassword & ";Initial Catalog=" & StrNomBase

' attention le strsql est pour le script de connexion a
'un sqlserver 7.00 et son provider(fournisseur oledb est
'SQLOLEDB ) et de plus on ne passe pas par ODBC
'StrProvider = SQLOLEDB

Set Dbs = New ADODB.Connection

dsb.Execute StrSql

Rem Dbs.ConnectionTimeout = 500 remarque utile pour le temps réponse

'***********************************************'
' Sample de PS de sqlserver 7
' CREATE PROCEDURE REP_______
'
' (@22222 int,
' @IdMarque int,
' @IdSortie int output)
'
' AS
'
' INSERT INTO TabXXX
' (22222, IdMarque)
' VALUES (@22222, @IdMarque)
'
' SELECT @IdSortie=@@identity


Set AdoCmd = New ADODB.Command
Set AdoCmd.ActiveConnection = Dbs
AdoCmd.CommandText = "REP_______" ' Nom de la Ps
AdoCmd.CommandType = adCmdStoredProc
Rem AdoCmd.CommandTimeout = 5000

Set Params = AdoCmd.Parameters
Params("@IdMarque") = 11 ' variable de la PS en entrée
Params("@22222") = 255
Set RSMessage1 = AdoCmd.Execute
Err = Params("RETURN_VALUE")
SortieToto = Params("@IdSortie")
End Sub

'***********************************************'
' Db PS BD Ds une procedure ou Function '
' '
'***********************************************'
0
Rejoignez-nous