Bonjour,
J'ai crée une procédure stockée qui prend en parametre un string et me renvois des informations sur ce paramétre.
Le probleme est que je ne sais pas comment faire pour l'appeler dans une methode en vb.net que je connais que trés peu.
Merci.
Version imprimable
Bonjour,
J'ai crée une procédure stockée qui prend en parametre un string et me renvois des informations sur ce paramétre.
Le probleme est que je ne sais pas comment faire pour l'appeler dans une methode en vb.net que je connais que trés peu.
Merci.
Tu l'exécute comme tu le faisait avec une simple requête.Code:
1
2 req = "nomprocedure [" & parametre & "]"
@++ ;)
Oua c'est tout ???
mais req est une variable de type string ??
Code:
1
2
3 String req as String req = "proced1["&test&"]"
et cela va suffire à lancer l'execution?
Bonjour,
en général, pour appeler une procédure stockée avec des paramètres en vb.net, c'est qlq chose comme ça :
j'espère que ça va t'aider.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Dim nomStoredProc As String = "Nom de ta procédure stockée" ' crée la commande Dim cmd As New OracleCommand(nomStoredProc) cmd.CommandType = CommandType.StoredProcedure ' paramètre à passer Dim p As OracleParameter = New OracleParameter("TonParametre", OracleDbType.Varchar2) cmd.Parameters.Add(p) ' tu peux ajouter d'autres paramètres si t'en a p = New OracleParameter("2emeParam", OracleDbType.Varchar2) cmd.Parameters.Add(p) ' rempli les valeurs cmd.Parameters("TonParametre").Value = OracleHelper.GetSqlString(Ta1ereValeurAPasser) cmd.Parameters("2emeParam").Value = OracleHelper.GetSqlString(Ta2emeValeurAPassermeParam)
oui beaucoup !!
merci je vais tester sa
désolé, pour la fonction OracleHelper.GetSqlString, c'est en fait qlq chose du genre :
Code:
1
2
3
4
5
6
7
8
9
10
11 Public Function GetSqlString( _ ByVal str As String _ , Optional ByVal nullValue As String = Nothing _ ) As Object If (str = nullValue) Then Return DBNull.Value End If Return str End Function
J'ai un probleme avec ma procedure stockée. Elle ne renvoit rien, pourtant j'ai suivi le tuto voici mon code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30<script> Imports System Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Imports Microsoft.SqlServer.Server Partial Public Class StoredProcedures <Microsoft.SqlServer.Server.SqlProcedure()> _ Public Shared Sub RecupLocation(ByVal name As String) ' Instanciation d'un objet SqlConnection Using maConnexion As New SqlConnection ' Instanciation de notre requête dans un objet SqlCommand Dim maCommande As SqlCommand = New SqlCommand(" SELECT Place_Location as Location, Place_Description as Description FROM Site, Place WHERE IDPlace = Site_IDPlace AND Site_Name = '" & name & "'", maConnexion) ' Ouverture de la connexion maConnexion.Open() ' Execution de la commande et renvoi du résultat SqlContext.Pipe.ExecuteAndSend(maCommande) ' Fermeture de la connexion maConnexion.Close() ' Fin du "Using", les ressources à l'intérieur du bloc "Using" vont être libérées End Using End Sub End Class </script>
1- est ce que t'as testé ta requette ? et je pense que c'est :
"." au lieu de "_", non ?!!Code:SELECT Place.Location .... From Site, Place WHERE IDPlace = Site.IDPlace AND Site.Name = '" & name.Trim() & "'", ...
2- pas la peine de faire maConnexion.Close(), t'as déjà utilisé le using, il ferme la connexion automatiquement.
Effectivement le connexion.close est inutile().
Par contre à quoi sert la methode trim()??
Et c'est bien Site_Name, en faite c'est le nom d'un champ de ma table.
Désolé pour le retard :oops:
ok merci pour le trim.