Autore Topic: Tabella di DB.SQLite3 vuota  (Letto 2427 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Tabella di DB.SQLite3 vuota
« Risposta #30 il: 25 Febbraio 2010, 15:18:29 »
Tutte le tabelle del DB sono strutturate alla stessa maniera. Fino ad ora ho lavorato da programma solo con due tabelle; la prima non mi ha assolutamente dato problemi (piancont). Su quest'ultima ho eseguito funzioni di cancellazione tabella, creazione con successivo inserimento record già presenti ed uno nuovo e non ho incontrato per niente ostacoli. La "movimgg" è la seconda tabella che stavo tentando di popolare da programma. È completamente vuota. Potrei tentare a scrivere manualmente un record, per vedere se così posso poi accedervi in scrittura da programma. L'ID a me non serve, ma con SQLite ne ho vissute tante di sventure che non mi meraviglio più di niente. Sarà leggero come una piuma, ma mi sembra che funziona a schema obbligato.
Ti farò sapere.
Ciao.
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Tabella di DB.SQLite3 vuota
« Risposta #31 il: 25 Febbraio 2010, 18:33:40 »
tra le due tabelle differenze ce ne sono ad esempio quella che da problemi ha due primary key mentre piancont solo uno,
io sqlite l' ho usato veramente moltissimo , nell' ultimo programam (gesthotel ) il munero di operazioni svolte sul db è veramente notevole,problemi riscontrati: 0
il tipo di query che usi per creare il db è leggermente diversa da quella che uso io, io uso cmq il campo id anche se  non mi  serve, in un unico progetto ho usato db senza id e ti assicuroi che era una rottura.

ho notato (almeno credo) che  in alcune tabelle effettui delle operazioni senza controllare se il db è vuoto o pieno o cmq lo controlli con

result.count<>0

questa istruzione può generare errore se non ci sono record nel db, ti conviene utilizzare:

if result.availabe=true then.


la tabella incriminata io sono riuscito a popolarla tramite il programma con un record, alla memorizzazione del secondo record va in errore , io attribuisco questo problema
alla modalità di creazione della tavola.

ho notato inoltre che se inserisci una spesa e il tipo di movimento ma non metti nessun valore come descrizione , premendo ok il programma entra in un loop infinito

nel programma nelle funzioni di creazione tavole mancano alcuni parametri per avviare la connessione
« Ultima modifica: 25 Febbraio 2010, 18:37:19 da fsurfing »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Tabella di DB.SQLite3 vuota
« Risposta #32 il: 25 Febbraio 2010, 22:54:00 »
Dalla tua esperienza devo assumere il consiglio di utilizzare il campo id autoincrementale. E la primary key che avevo definito, allora non mi serve più?

Io, al contrario di te, ho usato pochissimo i DB; infatti togliendo qualche cosa fatta con VB, ma mai fino in fondo, e lo studio che sto portando avanti con Gambas, ho solo nozioni teoriche.

Sicuramente ho ancora bisogno di diversi consigli e, prima di ricominciare ad analizzare tutta la struttura del DB ed il trattamento dei dati tabellari, ti esponmgo il mio pensiero sull'argomento, così da raccogliere i tuoi preziosi consigli:  penso che inserendo una colonna id, dovendo poi leggere le tabelle col metodo "order by" possa abbandonare la definizione di una chiave primaria. Certamente, almeno per la scrittura, non avrò più bisogno di utilizzare istruzioni SQL.

Quella del loop a causa della descrizione assente non l'avevo ancora provata. Grazie per la segnalazione. Si vede che ho dimenticato ad inserire l'istruzione di controllo alla fine dell'inserimento di tutti i dati pertinenti al movimento in digitazione. Provvedrò senz'altro alla correzione. Grazie anche per il consiglio sul metodo più consono per verificare la presenza di dati in una tabella.

Ora quello che mi mi preoccupa è il controvalore della tua consulenza ......  ;D ;D

Ciao.

:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Tabella di DB.SQLite3 vuota
« Risposta #33 il: 25 Febbraio 2010, 22:57:43 »
Citazione
Ora quello che mi mi preoccupa è il controvalore della tua consulenza ......  Ghigno Ghigno
figurati non sono mica ceskho io! :P

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Tabella di DB.SQLite3 vuota
« Risposta #34 il: 25 Febbraio 2010, 23:04:36 »
@Leo:
Non ci volevo credere e non volevo intraprendere la strada del'Id inutile, a tutti i costi. Invece devo arrendermi di fronte alla tracotanza di SQLite: o così o niente DB!
Perciò, deposta l'ascia di guerra, farò come avevi scritto tu qualche post fa; aggiungerò la colonna id autoincrementale, anche se non me ne facco un ... bel niente. :D
Ciao.
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Tabella di DB.SQLite3 vuota
« Risposta #35 il: 25 Febbraio 2010, 23:11:31 »
ho provato a cambiare il codice di creazione del db e farlo come uso di solito, sembra funzionare correttamente,

forse potresti anche usare il db senza id ma non devi definire un campo come integer primary key ma solo definire degli indici, dico forse perchè non l' ho mai usato in tal modo :)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Tabella di DB.SQLite3 vuota
« Risposta #36 il: 26 Febbraio 2010, 00:34:26 »
Citazione
Ora quello che mi mi preoccupa è il controvalore della tua consulenza ......  Ghigno Ghigno
figurati non sono mica ceskho io! :P

8)