Produit : 4D for OCI 2004.x · Plateforme : Mac et Win
♪
La syntaxe correcte est :
Sélectionnez
1.
APPLIQUER A SELECTION
([
MaTable];
$status
:=
OCIStmtExecute (
$Svchp
;
$Stmhp
;
$Errhp1
;
1
;
0
;
0
;
0
;
OCI_DEFAULT))
Et le code exemple 4D :
Sélectionnez
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.
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.
C_TEXTE
(<>
Username;<>
Password;<>
Datasource)
<>
Username:=
"xxx"
<>
Password:=
"xxx"
<>
Datasource:=
"xxx"
$status
:=
OCIEnvCreate (
envhp;
OCI_DEFAULT )
$status
:=
OCIHandleAlloc (
envhp;
$errhp
;
OCI_HTYPE_ERROR )
$status
:=
OCIHandleAlloc (
envhp;
svchp;
OCI_HTYPE_SVCCTX )
$status
:=
OCIHandleAlloc (
envhp;
authp;
OCI_HTYPE_SESSION )
$status
:=
OCIHandleAlloc (
envhp;
srvhp;
OCI_HTYPE_SERVER )
$status
:=
OCIServerAttach (
srvhp;
$errhp
;<>
Datasource)
$status
:=
OCIAttrSetVal (
svchp;
srvhp;
OCI_ATTR_SERVER ;
$errhp
)
$status
:=
OCIAttrSetText (
authp;<>
username;
OCI_ATTR_USERNAME ;
$errhp
)
$status
:=
OCIAttrSetText (
authp;<>
Password;
OCI_ATTR_PASSWORD ;
$errhp
)
$status
:=
OCISessionBegin (
svchp;
$errhp
;
authp;
OCI_CRED_RDBMS ;
OCI_DEFAULT )
$status
:=
OCIAttrSetVal (
svchp;
authp;
OCI_ATTR_SESSION ;
$errhp
)
$status
:=
OCIHandleAlloc (
envhp;
$stmthp
;
OCI_HTYPE_STMT )
$status
:=
OCIHandleAlloc (
envhp;
$errhp
;
OCI_HTYPE_ERROR )
C_TEXTE
(
$query
)
C_ENTIER LONG
(
$max_emp
)
`script SQL+
`create table test_table (ID number, Name varchar2(40));
$query
:=
"INSERT INTO test_table (ID, Name) values (:P1,:P2)"
$status
:=
OCIStmtPrepare (
$stmthp
;
$errhp
;
$query
;
OCI_DEFAULT )
C_POINTEUR
(
null_ind1;
null_ind2;
null_ind3)
$define
:=
0
$status
:=
OCIBindByPos
(
$stmthp
;
$define
;
$errhp
;
1
;->[
MaTable]
ID;
SQLT_INT ;
null_ind1;
null_ind2;
null_ind3;
OCI_DEFAULT ;
BIND_IN )
$status
:=
OCIBindByPos
(
$stmthp
;
$define
;
$errhp
;
2
;->[
MaTable]
Name;
SQLT_STR ;
null_ind1;
null_ind2;
null_ind3;
OCI_DEFAULT ;
BIND_IN )
Si
(
$status
#
0
)
`Si erreur, retourne l'erreur Oracle
$errornum
:=
1
status:=
OCIErrorGet (
$errhp
;
$errornum
;
$errorcode
;
$contents
)
ALERTE
(
$contents
)
Fin de si
TOUT SELECTIONNER
([
MaTable])
DEBUT SELECTION
([
MaTable])
APPLIQUER A SELECTION
([
MaTable];
$status
:=
OCIStmtExecute (
svchp;
$stmthp
;
$errhp
;
1
;
0
;
0
;
0
;
OCI_DEFAULT ))
$status
:=
OCIHandleFree (
$stmthp
)
$status
:=
OCISessionEnd (
svchp;
$errhp
;
authp)
$status
:=
OCIServerDetach (
srvhp;
$errhp
)
$status
:=
OCICleanup (
envhp)