Autore Topic: [RISOLTO] problema con combobox  (Letto 648 volte)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
[RISOLTO] problema con combobox
« il: 27 Maggio 2010, 23:52:20 »
ciao a tutti.


Codice: [Seleziona]
  
  sql = "select*from DESCRIZIONE"
  hres = $hConn.Exec(sql)
  i = 0
  
  IF hres.Available THEN
  FOR EACH hres
      
      ComboBox2.Add(hres!descrizione, i)
      TextBox1.Text = hres!tipo
  
    INC i
  NEXT
  ENDIF
  ComboBox2.Sorted = TRUE
  

ho usato questo codice con 2 record nella tabella DESCRIZIONE e la combo si crea senza problemi. ho aggiunto un altro record alla tabella DESCRIZIONE e quando il codice cerca di inserire hres!descrizione (dove hres!descrizione contiene la nuova voce della tabella) mi da il seguente errore:unknow field:descrizione
« Ultima modifica: 01 Giugno 2010, 11:39:43 da doublemm »
Matteo DoubleMM Mion

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: problema con combobox
« Risposta #1 il: 31 Maggio 2010, 22:16:32 »
Probabilmente dipende dal fatto che il FOR EACH chiude la connessione al termine del suo operato. O anche che il DB non comunica al driver Gambas la modifica al suo interno.
Prova a ricaricare i dati rieseguendo la query di ricerca.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: problema con combobox
« Risposta #2 il: 01 Giugno 2010, 08:39:13 »
il select*from DESCRIZIONE lo eseguo dopop aver inserito i dati sul DB, se vado a controllare con sqlite database browser i dati ci sono. L'unica cosa che potrei provare è chiudere e riaprire il DB. Chiedo giusto a voi che siete molto più esperti di me: Qual'è la cosa migliore da fare quando si lavora con un database (nel mio caso sqlite) aprire la connessione all'inizio del codice e chiuderla all'uscita, oppure aprirlo oni volta che il codice ha bisogno di comunicare con il DB?
Matteo DoubleMM Mion

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: problema con combobox
« Risposta #3 il: 01 Giugno 2010, 09:52:15 »
Io consiglio sempre la seconda: aprirlo quando devi lavorare col DB e chiuderlo subito dopo, proprio per evitare di tenere connessioni aperte che non servono.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: problema con combobox
« Risposta #4 il: 01 Giugno 2010, 11:39:18 »
ok infatti ho sistemato il codice. il problema della combo l'ho risolta in un altra maniera:
Quando aggiungo la voce al DB la carico con ADD nella combo.
Matteo DoubleMM Mion

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: problema con combobox
« Risposta #5 il: 01 Giugno 2010, 15:40:14 »
Chiedo giusto a voi che siete molto più esperti di me: Qual'è la cosa migliore da fare quando si lavora con un database (nel mio caso sqlite) aprire la connessione all'inizio del codice e chiuderla all'uscita, oppure aprirlo oni volta che il codice ha bisogno di comunicare con il DB?

Io solitamente scrivo il codice che gestisce la connessione in una funzione in un modulo così quando mi serve la connessione al database mi basta richiamare una sola funzione e non riscrivere tante righe di codice. In più così se devo cambiare qualche parametro della connessione lo faccio solo una volta e non per tutte le volte che mi connetto....

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: [RISOLTO] problema con combobox
« Risposta #6 il: 02 Giugno 2010, 10:38:15 »
infatti ho fatto così :D
Matteo DoubleMM Mion