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)



