Bonjour tous le monde:
je travail avec sql server 2000 et VB.Net : sous sqlserver je peux créer des procedures stockée parametré mais comment je peux faire appelle a ces procedurespour les executé a partir de vb.net?
et merci
Bonjour tous le monde:
je travail avec sql server 2000 et VB.Net : sous sqlserver je peux créer des procedures stockée parametré mais comment je peux faire appelle a ces procedurespour les executé a partir de vb.net?
et merci
Une bonne méthode est de créer un Instance qui executera toutes tes procédures stockées.. tu lui passe en paramètres tout ce qui va bien.
Voiçi une manière de le faire en C# --> je te laisserai le retranscrire en VB car je suis pas pro VB:
où new Manager().GetConnectionStringEntire("EPMDB") retourne une string qui est la connectionString à ta BDD SQLServer2000 ou autre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113 using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Collections; using com.alcatel.dsipetech.Data.SQL; public class SqlManager { #region Attribute private static SqlManager _instance = null; private static SqlConnection sqlConnection = null; #endregion #region Constructor public SqlManager() { try { sqlConnection = new SqlConnection(new Manager().GetConnectionStringEntire("EPMDB")); } catch (Exception e) { new EpmDashboard_Lib_Classes.Helper.ErrorHandler().LogError(e); } } #endregion #region Instance public static SqlManager Instance { get { if (_instance == null) { try { _instance = new SqlManager(); } catch (System.Exception e) { new EpmDashboard_Lib_Classes.Helper.ErrorHandler().LogError(e); } } return _instance; } } #endregion #region ExecuteStoredProcedureParamsInArrayList //Stored Procedure with parameters (parameters in ArrayList) public DataSet ExecuteStoredProcedureParamsInArrayList(string theProcedure, SqlParameter[] tabParam, ArrayList listValue, int nbParam) { #region Attach store Procedure SqlCommand cmd = new SqlCommand(); cmd.CommandText = theProcedure; cmd.CommandType = CommandType.StoredProcedure; cmd.Connection = sqlConnection; #endregion #region Parameters //Parameters for (int i = 0; i < nbParam; i++) { tabParam[i].Value = listValue.ToArray().GetValue(i); cmd.Parameters.Add(tabParam[i]); } #endregion #region Define the property of SelectCommand and sqldataAdapter //Define properties SelectCommand for the sqldataAdapter SqlDataAdapter theSqlDataAdapter = new SqlDataAdapter(); theSqlDataAdapter.SelectCommand = cmd; #endregion #region Implement Datset //Dataset System.Data.DataSet theDataSet = new DataSet(); #endregion try { #region Fill Dataset and Dispose SQL resource theSqlDataAdapter.Fill(theDataSet, "null"); theSqlDataAdapter.Dispose(); #endregion } catch (System.Data.SqlClient.SqlException ex) { new EpmDashboard_Lib_Classes.Helper.ErrorHandler().LogError(ex); } catch (Exception ex) { new EpmDashboard_Lib_Classes.Helper.ErrorHandler().LogError(ex); } finally { #region Dispose SQL resource if error theSqlDataAdapter.Dispose(); #endregion } return theDataSet; } #endregion #endregion } }
Ensuite pour l'utiliser par exemple:
Ou sproc_Customer_create est le nom de ta proc stock; @CustomerName, @CustomerACRKey et @CountryId sont les paramètres de ta proc stock; value1 2 et 3 les valeurs correspondant aux paramètres et size le nombre de parametres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SqlParameter param1 = new SqlParameter("@CustomerName", SqlDbType.NVarChar, 250); SqlParameter param2 = new SqlParameter("@CustomerACRKey", SqlDbType.NVarChar, 50); SqlParameter param3 = new SqlParameter("@CountryId", SqlDbType.Int, 4); SqlParameter[] sqlParams = new SqlParameter[3] { param1, param2, param3 }; String value1 = "toto"; String value2 = "totoKey"; int value3 = 6; ArrayList myValuesList = new ArrayList(); myValuesList.Add(value1); myValuesList.Add(value2); myValuesList.Add(value3); int size = 3; SqlManager.Instance.ExecuteStoredProcedureParamsInArrayList("sproc_Customer_create", sqlParams, myValuesList, size);
Si t'as proc stock retourne des valeurs, tu les stocke dans un DataSet facilement utilisable par la suite.
Je te répond vite fait en vrac mais dis-moi si tu veux d'autres précisions.
@+
-> L’amour est à la portée de tous, mais l’amitié est l’épreuve du cœur
-> La nature nous a donné deux oreilles et seulement une langue afin de pouvoir écouter d'avantage et parler moins
-> Trois sortes de gens disent la vérité : les sots, les enfants et les ivrognes
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager