Autore Topic: [risolto]sqlite passare valori  (Letto 665 volte)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
[risolto]sqlite passare valori
« il: 04 Febbraio 2010, 21:53:11 »
ciao raga
devo passare dei dati fra 2 database sqlite3.
in pratica si tratta di due database sqlite3 il primo con tutta una serie di tabelle contenti dei dati, il secondo con le stesse tabelle ma vuote e in più due tabelle nuove.

in pratica devo passare tutti i dati presenti nel primo al secondo.

preciso che tutte le tabelle (tranne le 2 nuove) sono identiche sia nei nomi che nei formati.

edit: un'altra soluzione sarebbe quella di prendere le 2 tabelle nuove del secondo e metterle nel primo, ho provato con sqlite browser ma mi fa casini.
« Ultima modifica: 08 Febbraio 2010, 20:00:00 da dex »

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: sqlite passare valori
« Risposta #1 il: 04 Febbraio 2010, 22:57:01 »
scrivi un codice che record per record ti copia la tabella/tabelle di uno nell' altro , tieni conto che gambas più gestire connesioni a due db differenti contemporaneamente

Codice: [Seleziona]

sql1="SELECT * FROM tavola1 ;"
hres1=$hconn1.exec(sql1)

for each hres1
   
    hres2=$hconn2.create("tavola1")
   hres2!campo1=hres1!campo1
   ........
   .......
   hres2!campon=hres1!campon
   hres2.update
   $hconn2.commit
next



naturalmente devi aver creato le tabelle e avviato i due db

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: sqlite passare valori
« Risposta #2 il: 04 Febbraio 2010, 23:33:39 »
fsurfing

grazie della dritta. mi basta raddoppiare il codice e connettere i due database.

ora mi serve un'altro consiglio.
con questo codice controllo se il database esiste
Codice: [Seleziona]
IF NOT $hConn.Databases.Exist(sName) THEN
          $hConn.Databases.Add(sName)
          $hConn.Close
          $hConn.Name = sName
          $hConn.Open()

ora se volessi controllare all'interno del database se una tabella esiste?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: sqlite passare valori
« Risposta #3 il: 05 Febbraio 2010, 08:36:34 »
mi pare che così sia un modo:

Codice: [Seleziona]
           IF $hconn.Tables.Exist("nome") = TRUE THEN 
                'la tavola esiste
            ELSE
                'la tavola non esiste
            ENDIF

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: sqlite passare valori
« Risposta #4 il: 08 Febbraio 2010, 19:59:40 »
risolto
grazie fsurfing