Je suis passé récemment de BDE>Paradox en DBExpress> Interbase(6)
Si Interbase ne m'a pas trop posé de problème , j'ai plus de souci avec une procédure stockée.
J'ai une base :
Et une procédure stockée :
Code sql : 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 INTERVENTION ( PK_INTERVENTION INTEGER NOT NULL, DATE_DEP TIMESTAMP NOT NULL, DATE_FIN TIMESTAMP NOT NULL, OPERATE INTEGER NOT NULL, CUR_PRE CHAR(3), ORDRE INTEGER, CUR_PRE_ORDRE INTEGER, TYPANNE VARCHAR(20), DETAILEMPLACE VARCHAR(50), TRAVEFFECT VARCHAR(200), AZUR CHAR(1), NUMAZUR INTEGER, TRAVASUIVR CHAR(1), ENCOURS CHAR(1), PK_SOURCE INTEGER, FICHIER_LIE VARCHAR(100) )
Code sql : 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 CREATE PROCEDURE PROC_INTER_ASUIVRE RETURNS ( S_PK_INTERVENTION INTEGER, S_DATE_DEP TIMESTAMP, S_DATE_FIN TIMESTAMP, S_OPERATE INTEGER, S_CUR_PRE CHAR(3), S_ORDRE INTEGER, S_CUR_PRE_ORDRE INTEGER, S_TYPANNE VARCHAR(20), S_DETAILEMPLACE VARCHAR(50), S_TRAVEFFECT VARCHAR(200), S_AZUR CHAR(1), S_NUMAZUR INTEGER, S_TRAVASUIVR CHAR(1), S_ENCOURS CHAR(1), S_PK_SOURCE INTEGER, S_FICHIER_LIE VARCHAR(100) ) AS BEGIN FOR SELECT PK_INTERVENTION, DATE_DEP, DATE_FIN, OPERATE, CUR_PRE, ORDRE, CUR_PRE_ORDRE, TYPANNE, DETAILEMPLACE, TRAVEFFECT, AZUR, NUMAZUR, TRAVASUIVR, ENCOURS, PK_SOURCE, FICHIER_LIE FROM INTERVENTION WHERE ( TRAVASUIVR = 'O' ) INTO :S_PK_INTERVENTION, :S_DATE_DEP, :S_DATE_FIN, :S_OPERATE, :S_CUR_PRE, :S_ORDRE, :S_CUR_PRE_ORDRE, :S_TYPANNE, :S_DETAILEMPLACE, :S_TRAVEFFECT, :S_AZUR, :S_NUMAZUR, :S_TRAVASUIVR, :S_ENCOURS, :S_PK_SOURCE, :S_FICHIER_LIE DO BEGIN SUSPEND; END END
Sous Delphi 7 J'utilise un TSQLStoredProc qui pointe ma base par un
TSQLConnection. Je retrouve ma procédure stockée dans StoredProcName.
Je retrouve même mes 16 champs dans params.
Mais si je met active à true j'obtient : "Curseur non renvoyé par Query"
J'utilise Interbase 6 en mode local, n'ayant pas encore reçu le serveur.
J'ai sans doute oublié qq chose.
Quelqu'un pourrait-il m'aider ?
J'utilise presque le même mécanisme pour incrémenter PK_INTERVENTION avec
un déclencheur et un générateur et là ça fonctionne.
Existe t'il une méthode pour débuger une procédure ?
Partager