Autore Topic: Classe DBBox  (Letto 2856 volte)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Classe DBBox
« il: 28 Aprile 2020, 18:27:25 »
Ciao a tutti
Nell'intento di rifarmi il gestionale ho riaperto una vecchia classe che avevo fatto qualche anno fa.
Oggi l'ho in gran parte riscritta perchè sembrava che funzionava..... vabbè.
Questa è solo una prima parte, è fatta per creare oggetti collegati al database. Tipo TextBox TexArea Numeri Decimali Valuta Data Combobox etcc, poi con poche righe di codice è già in funzione.
Comunque guardatelo e se a qualcuno interessa lo spiegherò meglio.
ps. Non è ancora attivo il controllo automatico per il salvataggio dei record quando sono modificati

La seconda parte della classe sarà dedicata alla "griglia " (tableview) nell'intento di fare una pallida imitazione di GridBox di Milio  :) :ciao:


fatemi sapere le vostre opinioni

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Classe DBBox
« Risposta #1 il: 29 Aprile 2020, 10:31:49 »
Aggiornamento
Sistemato controllo salvataggio e altri controlli
Questa classe è pronta per test
Se volete informazioni di come funziona chiedete pure mi farà piacere confrontarmi

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Classe DBBox
« Risposta #2 il: 29 Aprile 2020, 11:16:58 »
Se volete informazioni di come funziona chiedete pure mi farà piacere confrontarmi

Hai mai usato il componente gb.db.form?
Il tuo è un clone, un complemento, dove è che si differenzia?

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Classe DBBox
« Risposta #3 il: 29 Aprile 2020, 12:00:54 »
gli oggetti hanno qualche proprietà in più per gestire meglio e facilmente il form collegato al database.
Se vedi il codice del form è quasi vuoto.
Basta solo impostare le proprietà degli oggetti vedi i 2 esempi, poi la classe gestisce formati salvataggio etcc

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Classe DBBox
« Risposta #4 il: 29 Aprile 2020, 13:10:23 »

Hai mai usato il componente gb.db.form?
Il tuo è un clone, un complemento, dove è che si differenzia?

 :ciao:

Non l'ho mai usato, dove posso trovare un esempio?

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Classe DBBox
« Risposta #5 il: 29 Aprile 2020, 13:48:00 »
Bella domanda come al solito c'è poco e niente, in gambasdevel (o come si chiama la tua cartella gambas) in > app > examples > Database c'è l'esempio Database che contiene una finestra (FTest) basata sul componente, miserella ma ne mostra le potenzialità.
Io non l'ho mai usato perché è impossibile trovare esempi (qualcosa sul sito francese da parte di Bodard) e quando chiedi nessuno risponde perché evidentemente sono in pochi a saperlo usare.

Mi piacerebbe approfondire e scambiare opinioni sui controlli, forse tu potresti partire avvantaggiato avendo fatto qualcosa di simile.

Circa un sei mesi fa avevo avuto uno scambio epistolare con Hans Lehmann del libro tedesco che cercava lumi ma scambiandoci le conoscenze abbiamo capito di saperne veramente poco, almeno all'epoca, magari lui è andato avanti.  :-\

So che sta cercando di fare un esempio di finestra database il più possibile fedele a Gambas...

 :ciao:

P.S. Il mio secondo esempio di report ReportDemo2 contiene il collegamento che usa la finestra dell'IDE e permette l'utilizzo della grafica per agire sul database, funziona per tutti i database (SQLite, MySQL, PostgreSQL, ODBC) occorre cliccare sulla cartella connessioni, tasto destro su Connection1 > Proprietà (mostra la finestra) > Apri apre la grafica.
« Ultima modifica: 29 Aprile 2020, 14:00:29 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Classe DBBox
« Risposta #6 il: 29 Aprile 2020, 14:35:38 »
Grazie
Ho provato l'esempio e non mi funziona.
Sto provando a farne uno sulla scia di quello che ho capito... e non va neanche questo
Impostando le proprietà dovrebbe arrangiarsi da solo.... allego l'esempio e il database

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Classe DBBox
« Risposta #7 il: 29 Aprile 2020, 17:08:32 »

Ho provato l'esempio e non mi funziona.
L'esempio a me funziona  :rolleyes:
Citazione
Sto provando a farne uno sulla scia di quello che ho capito... e non va neanche questo
Impostando le proprietà dovrebbe arrangiarsi da solo.... allego l'esempio e il database

Mentre invece il tuo non funziona e non riesco proprio a capirne il motivo è da quando lo hai postato che ci sto impazzendo  :hard:

Eppure l'avevo già fatto, ottengo errori di ogni tipo  :hatecomputer:

La battaglia continua...  :specchio:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Classe DBBox
« Risposta #8 il: 29 Aprile 2020, 18:22:26 »

Ho provato l'esempio e non mi funziona.
L'esempio a me funziona  :rolleyes:
Citazione
Sto provando a farne uno sulla scia di quello che ho capito... e non va neanche questo
Impostando le proprietà dovrebbe arrangiarsi da solo.... allego l'esempio e il database

Mentre invece il tuo non funziona e non riesco proprio a capirne il motivo è da quando lo hai postato che ci sto impazzendo  :hard:

Eppure l'avevo già fatto, ottengo errori di ogni tipo  :hatecomputer:

La battaglia continua...  :specchio:

perdona  :-\

stasera ci guardo meglio
Prometto che farò un bell'esempio

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Classe DBBox
« Risposta #9 il: 29 Aprile 2020, 19:23:39 »


perdona  :-\

stasera ci guardo meglio
Prometto che farò un bell'esempio

Non è mica colpa tua, sembra che con Connection1 non funzioni.
Ma se uno non usa Connection1 (o come vuoi chiamarla) non si può creare DataSource e allora?  :hard:
Sembra come accade a questo qui https://lists.gambas-basic.org/pipermail/user/2012-February/037229.html
e la risposta di Benoit è questa https://lists.gambas-basic.org/pipermail/user/2012-February/037292.html
Però a me continua a essere disattivata

 :-\ :-\ :-\
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Classe DBBox
« Risposta #10 il: 29 Aprile 2020, 20:13:27 »
Per oggi mi arrendo, magari domani...

Se vuoi continuate tu, io proprio non riesco a capire perché non funziona, ti allego il file con i miei cambiamenti, magari ti ispira  :-\
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Classe DBBox
« Risposta #11 il: 29 Aprile 2020, 23:05:05 »
Ecco quà... il form non andava perchè la proprietà Enabled era settata su True :hatecomputer: Non mi ero accorto oggi, avevo copiato il form per far presto... vabbe
Ho un pò capito, certo che bisognerebbe capire un pò le proprietà ed eventi per poterlo utilizzare bene. Però per progetti veloci è molto intuitivo.. un pò access diciamo.
Mi ha un pò deluso la connessione, molto facile a connettersi ma (almeno penso così) non ha un controllo se non trova il database va in errore e basta.
Inoltre vedo che quando si aggiunge un nuovo record non incrementa "Id" e si che il database è strutturato con id incrementale.
Non so che dire... se dovrei fare una rubrica veloce potrei anche usarlo... ma forse bisognerebbe avere più info

Allego la prova
Ciao Gianluigi grazie
« Ultima modifica: 29 Aprile 2020, 23:08:52 da Golia »

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Classe DBBox
« Risposta #12 il: 29 Aprile 2020, 23:35:20 »
Una prima piccola parte del gestionale, almeno per vedere se funziona la classe.
è un pò in disordine, curerò l'aspetto dopo.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Classe DBBox
« Risposta #13 il: 30 Aprile 2020, 22:57:49 »
Ecco quà... il form non andava perchè la proprietà Enabled era settata su

E tu mi hai fatto perdere ore per una str.... starai a casa in castigo per tre ore  >:(
Citazione
Però per progetti veloci è molto intuitivo.. un pò access diciamo.
Mi ha un pò deluso la connessione, molto facile a connettersi ma (almeno penso così) non ha un controllo se non trova il database va in errore e basta.
Inoltre vedo che quando si aggiunge un nuovo record non incrementa "Id" e si che il database è strutturato con id incrementale.
Non so che dire... se dovrei fare una rubrica veloce potrei anche usarlo... ma forse bisognerebbe avere più info

Guarda che non è così se la chiave è incrementale il database si aggiorna, però devi ricordarti di ricaricarlo per aggiornare la finestra .connection.
Si, occorrerebbe avere più info ma non so come trovarle.
Ad esempio DataSource.Table può accettare qualunque richiesta SQL, oggi pomeriggio ho fatto molte prove ma non sono riuscito a farlo funzionare...

notte  :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Classe DBBox
« Risposta #14 il: 01 Maggio 2020, 14:11:56 »
Una prima piccola parte del gestionale, almeno per vedere se funziona la classe.
è un pò in disordine, curerò l'aspetto dopo.

wow!!! ci sono anche i trigger!!!  :yeah:

 :ok:

Sbaglio o funziona solo con SQLite?  :P

 :ciao: :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro