Bonjour,
J'ai un problème de no data found lorsque je tente d'exécuter une commande ADO "adCmdStoredProc". Voici le code:
Or l'équivalent SQL Server marche très bien. Je précise que la connexion (con.Open) s'effectue avec succès.
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 Option Explicit Dim con As New ADODB.Connection Dim rs As New ADODB.Recordset Dim cmd As ADODB.Command Dim str_empid, strconnect As String Private Sub cmd_get_Click() str_empid = txt_empid.Text Set cmd = New ADODB.Command cmd.ActiveConnection = con cmd.CommandType = adCmdStoredProc cmd.CommandText = "rand.empdetails" cmd.Parameters.Refresh cmd.Parameters.Append cmd.CreateParameter("v_empid", adVarChar, adParamInput, 6, str_empid) Set rs = cmd.Execute If Not rs.EOF Then txt_firstname = rs.Fields(0) txt_title = rs.Fields(1) txt_address = rs.Fields(2) End If Set cmd.ActiveConnection = Nothing End Sub Private Sub Form_Load() strconnect = "Provider=OraOLEDB.Oracle.1;Password=jklm;Persist Security Info=True;User ID=system;Data Source=rand_db" con.Open strconnect, "", "" End Sub
Voici également les requêtes de création des trucs de la BD:
Par curiosité : que dois-je utiliser ? le provider de Microsoft ou celui d'Oracle ?
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 create table RAND.EMPLOYEES( "ID" int , FirstName varchar2(20), Title varchar2(20), Address varchar2(20), CONSTRAINT "PK_EMPL0YEES" PRIMARY KEY(ID) USING INDEX TABLESPACE RANDINDEX )TABLESPACE RANDDATA LOGGING; CREATE OR REPLACE procedure RAND.empdetails(v_empid int) AS v_FN varchar2(20); v_Title varchar2(20); v_Addr varchar2(20); BEGIN SELECT FirstName, Title, Address INTO v_FN, v_Title, v_Addr FROM Employees WHERE ID = v_empid; END;
Partager