** ****************************************************************************************** * **EndUser4gl : Exemple d'un langage de4 génération ** ******************************************************************************************* ** Exemple : SQL ** ***************************************************************************************** CHAR : Name:256,surname:15,CharPrenomColumn:15,CharNomColumn:50; INTEGER : Iage,i,MessageSql,IntageColumn,IntNumberColumn; FLOAT : Fwnt dec(2),FloatColumn dec(2); DOUBLE : Dwnt dec(4),DoubleColumn dec(4); LONG : Lwnt,LongColumn; struct: DATA { char CharPrenomColumn:15; char CharNomColumn:50; integer IntageColumn; long LongColumn; float FloatColumn dec(2); double DoubleColumn dec(4); integer IntNumberColumn; } SetEnvDataBaseSQL{fox}("c:\EndUser4gl\4gl\hlp\instructionsSql\FoxPro\DataBase"); ** --------------------------------------------------------------------------------- ** ** DROP TABLE :SUPPRESSION ** ** --------------------------------------------------------------------------------- ** ExecuteSQL{Fox}( "DROP TABLE TableDel "); ** --------------------------------------------------------------------------------- ** ** CREATE TABLE ** ** --------------------------------------------------------------------------------- ** ExecuteSQL{Fox}( "CREATE TABLE TableDel (Prenom CHAR(15) , Nom CHAR(50) NOT NULL UNIQUE, AGE INTEGER, NBRELONG N , NBREFLOAT F(10,2),NBREDOUBLE B(4),NUMBER INTEGER )") ; ** --------------------------------------------------------------------------------- ** ** INSERT INTO ** ** --------------------------------------------------------------------------------- ** name := "Bergougnoux"; surname := "loulou2"; Iage :=32510;i++; Fwnt := 1250.21 ; Lwnt := 1234567 ; Dwnt := 987654321.1234; ExecuteSQL{Fox}( "INSERT INTO TableDel (Prenom,Nom,Age,Nbrelong,Nbrefloat,Nbredouble,number) VALUES ( '%s','%s',%i,%l,%f,%d,%i) ", surname,name ,Iage,Lwnt,Fwnt,Dwnt,i); ExecuteSQL{Fox}( "INSERT INTO TableDel (Prenom,Nom,age,Nbrelong,Nbrefloat,Nbredouble) VALUES ( 'loulou3','BergougnouxAAA',22,10,112.51,11114.1025) " ) RETURNING(MessageSql); ExecuteSQL{Fox}( "INSERT INTO TableDel (Prenom,Nom,Age) VALUES ( 'loulou1','BergXXXXXXXXXXX1',3) "); i:= 0; ExecuteSQLFetch{Fox}( "SELECT * FROM TableDel ") ForEachRowFind : i++; ** ************************************************************************* ** GetDataColumn: Number Column , Type(char,integer long, float , double ** ** ************************************************************************* CharPrenomColumn := GetDataColumn:1,CHAR ; CharNomColumn := GetDataColumn:2,CHAR ; IntAgeColumn := GetDataColumn:3,INTEGER ; LongColumn := GetDataColumn:4,LONG ; FloatColumn := GetDataColumn:5,FLOAT ; DoubleColumn := GetDataColumn:6,DOUBLE ; IntNumberColumn := GetDataColumn:7,INTEGER ; display "Row-----------------------------------------------------------------",i; display "CharPrenomColumn ",CharPrenomColumn; display "CharNomColumn ",CharNomColumn; display "IntAgeColumn ",IntAgeColumn; display "LongColumn ",LongColumn ; display "FloatColumn ",FloatColumn; display "DoubleColumn ",DoubleColumn ; display "IntNumberColumn ",IntNumberColumn ; End_ForEachRow; ** --------------------------------------------------------------------------------- ** ** SELECT and DISPLAY ** ** --------------------------------------------------------------------------------- ** ExecuteSQL{Fox}( "SELECT * FROM TableDel "); WaitCloseUser(); ** Close Dialog by User