Autore Topic: primi approcci con sqlite3  (Letto 4349 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: primi approcci con sqlite3
« Risposta #30 il: 05 Febbraio 2009, 00:10:40 »
Citazione

md9327 ha scritto:
Riguardo le funzionalità EOF/BOF, l'oggetto Result ti offre metodi alternativi; ...................................
Il controllo del metodo Result.Count ti ritorna l'esatto numero di record caricati dal database.


Citazione

leo72 ha scritto:
Un sistema molto semplice per verificare che una tabella contenga dati e/o alcuni tipi di dati è di utilizzare la proprietà Available dell'oggetto Result, che serve proprio a verificare se il record è esistente. Il tuo test potrebbe essere riscritto così:

NomeRec = DB_Connection.Edit("GGAperte")
IF NOT NomeRec.Available THEN
  Message.Warning("Tabella vuota")
ELSE
  NopmeTab alla Tabella GGAperte in modalità lettura record
  $DataCont = NomeRec!DtCoGGAp
ENDIF


Vi ringrazio tantissimo per i vostri consigli. Ho capito che essendo Gambas assai malleabile nell'uso di istruzioni che permettonio di arrivare allo stesso risultato, basta applicare al proprio programma quell'insieme di codice più congeniale al modo di scrivere e del programmatore. Ho letto il suggerimento di leo72 dopo avere ragionato sul suggerimento di md9327 ed hoadottato la seguente soluzione:
Codice: [Seleziona]

DB_Connection.Begin
  NomeRec = DB_Connection.edit("GGAperte")  
  n_NumElem = NomeRec.Count     'estrae il n° di record presenti nella tabella GGAperte
  'Message.Info("La Tabella  'GGAperte' contiene n°" & n_NumElem & " righe")
 IF n_NumElem = 0 THEN
       Message.Info("Tabella  'GGAperte' -->  V U O T A" )
  ELSE
      $DataCont = NomeRec!DtCoGGAp  'carico in memoria il contenuto
 ENDIF    
:-D
  :ciao:  :ciao:
:ciao:

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: primi approcci con sqlite3
« Risposta #31 il: 05 Febbraio 2009, 11:13:48 »
Ricorda, Gambas è un linguaggio in cui non esiste un solo modo per fare una cosa. Ne esistono tanti, ognuno sceglie quello che più gli piace o che conosce.
Il tuo controllo potrebbe anche diventare:
Codice: [Seleziona]

IF NomeRec.Count = 0 THEN
  Message.Info("Tabella  'GGAperte' -->  V U O T A" )
ELSE
  $DataCont = NomeRec!DtCoGGAp  carico in memoria il contenuto
ENDIF

senza dover assegnare il valore di NomeRec.Count ad una variabile temporanea.
Questo per confermare quanto da me detto sopra.
Visita il mio sito personale: http://www.leonardomiliani.com