class Query : instructions SQL pour les tables



Classe Query

Instructions pour les tables : personnellement, je n'utilise actuellement que des
tables.dbf avec leur index.mdx.

Syntaxe : 

oObjet = new Query()

Liste des éléments (que j'utilise) :
*

active      : détermine si un objet est ouvert et actif ou fermé,
              valeur par défaut : .F. (fermé).

rowset      : élément de données depuis un objet

sql         : nom du fichier et éventuellement de son index avec lequel on veut travailler,
              utilisation : oObjet.sql ='select * from MonFichier'
                            oObjet.sql ='select * from MonFichier ORDER BY MonIndex ASC'

Ci dessous un exemple (ne pas oublier de créer le dossier avant de tester).

**\ Balise début de programme

* ExempleTableIndex.prg - Divers outils Table et Index.
* -----------------------------------------------------
*

/*

 Ceci est en exemple basique.

*/

*
PUBLIC DefautFolder            && PUBLIC variable
*
DefautFolder = "C:\TestProgrammeBernardMouille"
*
IF MSGBOX("OUI = méthode objet" + CHR(10) + "NON = ancienne méthode" ;
          ,"Sélection méthode tables", 4 + 32) = 7  && 7 = NON.
 *
 * Créer une table.
 *
 CREATE TABLE "&DefautFolder\OldTableName" ( ;
        OldFiedName1     CHAR(10), ;
        OldFiedName2     CHAR(14))
 *
 * Indexer la Table.
 *
 USE &DefautFolder\OldTableName EXCLUSIVE
 INDE ON OldFiedName1 TO &DefautFolder\OldIndexName1
 INDE ON OldFiedName2 TO &DefautFolder\OldIndexName2
 *
 SET INDEX TO &DefautFolder\OldIndexName2, &DefautFolder\OldIndexName1
 APPEND BLANK
 REPLACE OldFiedName1 WITH "Field 1"
 REPLACE OldFiedName2 WITH "Field 2"
 USE
 *
 RETURN
ENDIF
*
* Créer une table.
*
CREATE TABLE "&DefautFolder\ObjectTableName" ( ;
       ObjectFiedName1     CHAR(10), ;
       ObjectFiedName2     CHAR(14))
*
* Indexer la Table.
*
LOCAL oTd
*
oTd = new DbfIndex()
oTd.unique     := .T.
oTd.indexName  := "Index1"
oTd.expression := "ObjectFiedName1"
*
_app.databases[1].createIndex(DefautFolder +"\ObjectTableName", oTd)
*
oTd := null
*
* Utiliser la table.
*
oDbf = new query()
oDbf.sql    :='select * from "&DefautFolder\ObjectTableName"'
oDbf.active := true
*
oDbf.rowset.beginAppend()
oDbf.rowset.fields["ObjectFiedName1"].value = "Field 1"
oDbf.rowset.fields["ObjectFiedName2"].value = "Field 2"
*
oDbf.rowset.save()
oDbf.active := false
oDbf := null
*
RETURN


Fiche fabriquée le : 21/05/11 à 07:57:20