Autore Topic: Classe CDatabase  (Letto 1387 volte)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Classe CDatabase
« il: 07 Marzo 2011, 21:56:10 »
Una nuova libreria, non legata a CTable, ma presto ne creeò una che collega le due.

La nuova libreria l'ho intitolata CDatabase, e contiene alcune classi per la gestione di database (SQLite, PostgreSQL e MySQL).
Le classi sono derivate da quelle utilizzate in pgDesigner, opportunamente ripulite e rese più dinamiche.

Lo scopo è quello di creare uno strato software, che funga da collegamento tra un database (e le sue funzioni) e l'applicazione. A differenza dagli oggetti che fornisce Gambas, le classi contenute in questa libreria non sono utilizzabili esclusivamente e direttamente con il database, e permettono di gestire le informazioni anche a database chiuso.

Nella lista seguente, l'elenco delle classi:

CDBConnectionGestione della connessione. Utilizza l'oggetto Connection di Gambas, ma apre ogni volta una connessione per ogni query.
CDBErrorOggetto Error della libreria. Mantiene le informazioni circa gli errori.
CDBFieldClasse per le informazioni di uno specifico campo di tabella.
CDBLoginClasse dati di login. Il passaggio delle informazioni di connessione tra i vari oggetti della libreria viene effettuato tramite questo oggetti.
CDBRecordClasse dati di un record. Mantiene e gestisce i dati di un singolo record.
CDBResultClasse dati result. Mantiene e gestisce i record.
CDBDriverClasse padre di tutte le seguenti sottoclassi. Definisce i metodi per l'interrogazione di un database (liste oggetti, oppure informazioni dettagliate sulla struttura di una tabella, e via dicendo...
CDBMySQLDriver
CDBPostgreSQLDriver
CDBSQLiteDriver
Classi base per i driver relativi ai vari database gestiti dalla libreria.
CDBMySQL<x>DriverDriver per MySQL versione <x> (per ora solo la 5.0).
CDBPostgreSQL<x>DriverDriver per PostgreSQL versione <x> (dalla 7.0 fino alla 9.0).
CDBSQLite<x>DriverDriver per SQLite versione <x> (dalla 2.x fino alla 3.x). E' da tener presente che l'uso di queste librerie dipende dalla presenza del relativo motore nel sistema.

Nel file compresso ho inserito anche qualche esempio (grafico e non), con cui fare delle prove.

Notare che, come per CTable, la libreria è stata creata su Gambas3, ma molto probabilmente funziona anche su Gambas2, dato che non ho usato funzionalità specifiche della nuova versione.

Fatemi sapere le vostre impressioni.

Bye da MDczfv...  :P

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Classe CDatabase
« Risposta #1 il: 07 Marzo 2011, 23:04:14 »
È proprio vero che gli anziani passati gli 80 non dormo più e sfornano classi per Gambas....:rotfl:

Se non ci fossi ti dovrebbero inventare.........................................ma io questa responsabilità non me la prenderei mai!!!  :rotfl:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Classe CDatabase
« Risposta #2 il: 08 Marzo 2011, 12:13:21 »
Gli 80 ormai gli ho passati da un pezzo... ormai ho superato il secolo...  :P

Chettepossino, non c'è più rispetto per gli anziani...