Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: RiCi12 - 10 Luglio 2009, 14:27:33

Titolo: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 10 Luglio 2009, 14:27:33
Io e ditabase andiamo d'amore e d'accordo..

Comunque, dopo aver finito il mio programma, e in attesa che il mio amcio torni a casa per farmi spiegare una cosa(magari, però...vabbé), ho deciso di fare un'altra versione del mio programma, per un pubblico un po' diverso..

Comunque, prendo i pezzi di codice dal vecchio programma (almeno quelli per i database), ma continua, in una maniera a dir poco indecente, a darmi il solito errore, ovvero quello del titolo..

vi mostro un pezzo di codice, un po' confusionario, forse..

Codice: [Seleziona]

nomedb = "registro_del_prof_" & user.Name
  path = user.Home
  WITH $hConn
    .type = "sqlite3"
    .host = path
  END WITH
  $hConn.name = nomedb
  classesel = lstclassi.Text
  lstmat.Clear()
  $hConn.Open()
  sql = "SELECT * FROM mat WHERE classi2 LIKE classesel"
  hres = $hConn.exec(sql)
  FOR EACH hres
    lstmat.Add(hres!mat)
  NEXT
  $hConn.Close()


e mi da errore sul..
Codice: [Seleziona]
hres = $hConn.exec(sql)


però...
Codice: [Seleziona]

$hConn.Close()
    lstclassi.Clear()
    $hConn.Open()
    sql = "SELECT * FROM classe"
    hres = $hConn.exec(sql)
    FOR EACH hres
      lstclassi.Add(hres!classi)
    NEXT
    $hConn.Close()


qui non mi da alcun problema, nulla di nulla..Non riesco a capirlo..E aprendo il database con sqlitebrowser, nessun problema, nulla di nulla..E' tutto in ordine..

thanks..
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: Ceskho - 10 Luglio 2009, 14:54:53
hres è dichiarato?
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: Picavbg - 10 Luglio 2009, 15:29:08
Citazione

RiCi12 ha scritto:
.......................

Codice: [Seleziona]

nomedb = "registro_del_prof_" & user.Name
  path = user.Home
  WITH $hConn
    .type = "sqlite3"
    .host = path
  END WITH
  $hConn.name = nomedb
  classesel = lstclassi.Text
  lstmat.Clear()
  $hConn.Open()
  sql = "SELECT * FROM mat WHERE classi2 LIKE classesel"
  hres = $hConn.exec(sql)
  FOR EACH hres
    lstmat.Add(hres!mat)
  NEXT
  $hConn.Close()



Uso da poco Sqlite3 e quindi lo conosco altrettanto poco, però secondo me il problema é dentro l'istruzione 'sql=' dove leggo l'uso della funzione LIKE, la quale permette la ricerca di tutti quegli elementi di tabella "classi2" il cui contenuto comprenmda almeno un crt della variabile "classesel". Ecco, mi pare che LIKE desideri che la stringa da ricercare sia compresa fra due "*". Poiché "classesel" contiene un valore proveniente da  "lstclassi.Text", può darsi che manchino proprio gli "*" di delimitazione voluti dalla funzione LIKE. Potresti perciò modificare l'istruzione "sql=" nella seguente:
Codice: [Seleziona]
sql = "SELECT * FROM mat WHERE classi2 LIKE" & "*" & "classesel" & "*"

e riprovare.
Magari, quello che ho notato non c'entra niente, ma provare non fa mai male.  :-)  :ciao:
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 10 Luglio 2009, 19:35:22
Citazione

Ceskho ha scritto:
hres è dichiarato?


si si...
Citazione

picavbg ha scritto:
Citazione

RiCi12 ha scritto:
.......................

Codice: [Seleziona]

nomedb = "registro_del_prof_" & user.Name
  path = user.Home
  WITH $hConn
    .type = "sqlite3"
    .host = path
  END WITH
  $hConn.name = nomedb
  classesel = lstclassi.Text
  lstmat.Clear()
  $hConn.Open()
  sql = "SELECT * FROM mat WHERE classi2 LIKE classesel"
  hres = $hConn.exec(sql)
  FOR EACH hres
    lstmat.Add(hres!mat)
  NEXT
  $hConn.Close()



Uso da poco Sqlite3 e quindi lo conosco altrettanto poco, però secondo me il problema é dentro l'istruzione 'sql=' dove leggo l'uso della funzione LIKE, la quale permette la ricerca di tutti quegli elementi di tabella "classi2" il cui contenuto comprenmda almeno un crt della variabile "classesel". Ecco, mi pare che LIKE desideri che la stringa da ricercare sia compresa fra due "*". Poiché "classesel" contiene un valore proveniente da  "lstclassi.Text", può darsi che manchino proprio gli "*" di delimitazione voluti dalla funzione LIKE. Potresti perciò modificare l'istruzione "sql=" nella seguente:
Codice: [Seleziona]
sql = "SELECT * FROM mat WHERE classi2 LIKE" & "*" & "classesel" & "*"

e riprovare.
Magari, quello che ho notato non c'entra niente, ma provare non fa mai male.  :-)  :ciao:


giusta osservazione, ma quello li non è un problema. Mi son visto costretto, nel programma precedente, a fare in modo che cercasse solo la parola esatta, e avevo risolto così...
Codice: [Seleziona]
sql = "SELECT * FROM voti WHERE materia2 LIKE '" & materiasel & "'"

Risolvendo perfettamente..

Il problema, però non si va a risolvere: com'è possibile che in parte vada e in parte no? Lo stesso pezzo di codice, oltretutto. Non ha minimamente senso..
Comunque, vi posto il pezzo di codice incriminato: praticamente, all'avvio(form_open), gli faccio controllare se esiste tale database, altrimenti lo crea. Se già esiste, mi va a leggere i valori in esso contenuto, e mi prende le varie classi e me le mette in una listbox.. E basta..E già qui non va, dandomi l'errore sull'hres = bla bla bla..Se cancello il database, e uso dei valori che inserisco at the moment( senza usvire dal programma), il pezzo riportato sopra va', tranquillamente(quello segnalato come funzionante)
Comunque..
Codice: [Seleziona]
PUBLIC SUB Form_Open()
  nomedb = "registro_del_prof_" & user.Name
  path = user.Home
   
  WITH $hConn
    .type = "sqlite3"
    .host = path
  END WITH
 
  $hConn.Open()
  IF NOT $hConn.Databases.Exist(nomedb) THEN
    $hConn.databases.Add(nomedb)
    $hConn.name = nomedb

    $hConn.Close()

    $hConn.Open()
   
    sql = "CREATE TABLE 'classe' ('id' INTEGER PRIMARY KEY, 'classi' VARCHAR(255) DEFAULT NULL);"
    htable = $hConn.exec(sql)
    sql = "CREATE TABLE 'mat' ('id' INTEGER PRIMARY KEY, 'classi2' VARCHAR(255) DEFAULT NULL, 'materia' VARCHAR(255) DEFAULT NULL);"
    htable = $hConn.exec(sql)
    sql = "CREATE TABLE 'stud' ('id' INTEGER PRIMARY KEY, 'classi3' VARCHAR(255) DEFAULT NULL, 'stud' VARCHAR(255) DEFAULT NULL);"
    htable = $hConn.exec(sql)
    sql = "CREATE TABLE 'voti' ('id' INTEGER PRIMARY KEY, 'materia2' VARCHAR(255) DEFAULT NULL, 'voto' VARCHAR(255) DEFAULT NULL, 'stud2' VARCHAR(255) DEFAULT NULL);"
    htable = $hConn.exec(sql)
    $hConn.Close()
ELSE  
  lstclassi.Clear()
  $hConn.Close()
  $hConn.Open()
  sql = "SELECT * FROM classe"
  hres = $hConn.exec(sql)
  FOR EACH hres
    lstclassi.Add(hres!classi)
  NEXT
  $hConn.Close()
   
ENDIF
END

l'errore lo riporta li, solo li...
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: fsurfing - 10 Luglio 2009, 19:51:13
posta il valore di sql quando va in errore(chiudi il messaggio di errore e selezioni la variabile sql , compare un balloon con il valore della variabile).
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 10 Luglio 2009, 20:30:32
mmmm,strano,mi ripete questo...

Codice: [Seleziona]
"SELECT * FROM classe"


E, hres, assume valore "null"
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: Picavbg - 10 Luglio 2009, 22:25:14
@  RiCi12:
Domanda stupida: Sei sicuro chhe la tabella "mat" del DB non sia vuota?
mi viene in mente una prova. Visto  che
Citazione
sql = "SELECT * FROM mat WHERE classi2 LIKE classesel"

é diversa da

sql = "SELECT * FROM mat"

perché non estrai la funzione "Where dalla riga sql e la trasferisci nella riga for each", cioé:
Codice: [Seleziona]
 sql = "SELECT * FROM mat"
  hres = $hConn.exec(sql)
  FOR EACH hres
        WHERE hres!classi2 LIKE classesel
    lstmat.Add(hres!mat)
  NEXT
  $hConn.Close()
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 10 Luglio 2009, 22:46:03
no quella parte funziona perfettamente, ho fatto numerose prove, e la ricerca, e il "cambio", funzionano alla perfezione, il problema non sussiste.

Il problema dell'errore si verifica soltanto con il pezzo di codice riferito all'avvio..
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: fsurfing - 10 Luglio 2009, 23:52:03
potresti allegare l' intero progetto così facciamo delle prove
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 11 Luglio 2009, 13:27:01
mmm, ok, ma lo posso postare solo domani, mi dispiace(anzi, vi ringrazio), perché sono su un altro pc, e non ho i sorgenti..
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 12 Luglio 2009, 20:48:14
allora, ecco i sorgenti. Non ho avuto il tempo di commentarli, mi dispiace. Cercherò di uploadarli di nuovo, con un po' di commenti. Il problema, se lo avrete anche voi, sarà durante l'evento (form_open) di fmain..

grazie,
ciao
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: fsurfing - 12 Luglio 2009, 21:03:56
il sorgente che hai postato non è funzionante, probabilmente hai fatto copia incolla dei file della cartella e li hai compattati.

devi usare l' utility fornita da gambas : "Crea pacchetti sorgenti"
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: fsurfing - 12 Luglio 2009, 21:15:44
era un banale errore

nel caso il db non esista devi indicarne il nome prima di aprirlo

Codice: [Seleziona]

PUBLIC SUB Form_Open()
  nomedb = "registro_del_prof_" & user.Name
  path = user.Home
   
  WITH $hConn
    .type = "sqlite3"
    .host = path
  END WITH
 
  $hConn.Open()
  IF NOT $hConn.Databases.Exist(nomedb) THEN
    $hConn.databases.Add(nomedb)
    $hConn.name = nomedb

    $hConn.Close()

    $hConn.Open()
   
    sql = "CREATE TABLE 'classe' ('id' INTEGER PRIMARY KEY, 'classi' VARCHAR(255) DEFAULT NULL);"
    htable = $hConn.exec(sql)
    $hConn.Commit
    sql = "CREATE TABLE 'mat' ('id' INTEGER PRIMARY KEY, 'classi2' VARCHAR(255) DEFAULT NULL, 'materia' VARCHAR(255) DEFAULT NULL);"
    htable = $hConn.exec(sql)
    $hConn.Commit
    sql = "CREATE TABLE 'stud' ('id' INTEGER PRIMARY KEY, 'classi3' VARCHAR(255) DEFAULT NULL, 'stud' VARCHAR(255) DEFAULT NULL);"
    htable = $hConn.exec(sql)
    $hConn.Commit
    sql = "CREATE TABLE 'voti' ('id' INTEGER PRIMARY KEY, 'materia2' VARCHAR(255) DEFAULT NULL, 'voto' VARCHAR(255) DEFAULT NULL, 'stud2' VARCHAR(255) DEFAULT NULL);"
    htable = $hConn.exec(sql)
    $hConn.Commit
    $hConn.Close()
ELSE  
  lstclassi.Clear()
  $hConn.Close()
  $hConn.name = nomedb'''''''codice mancante
  $hConn.Open()
  sql = "SELECT * FROM classe"
  hres = $hConn.exec(sql)
  FOR EACH hres
    lstclassi.Add(hres!classi)
  NEXT
  $hConn.Close()
   
ENDIF
END

 
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 13 Luglio 2009, 12:01:33
allora, qui sta veramente diventando una comica.
Ora, oltre a non funzionare più il nuovo programma, controllando quello vecchio, scopro che lo stesso errore mi viene dato. Ma quello vecchio funzioanva alla perfezione, lo avrò controllato una quarantina di volte..

E allora, li mi viene a pensare che sia un problema di gambas che vuole fare l'antipatico. Possibile qualche problema causato dalle diverse versioni usate per lo sviluppo? Anche se mi sembra strano...

:cry:
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: fsurfing - 13 Luglio 2009, 12:56:17
non è sicuramente un problema di gambas ..molte volte una piccola svista fa perdere un sacco di tempo a me il tuo programma con quella modifica funziona benissimo
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 13 Luglio 2009, 15:31:25
ma....ma....ma...

a me no, e ho aggiunto $hConn.name= nomedb, nello stesso punto dove lo hai messo te. Ma continua a darmi il solito errore all'avvio, nel caso esista già il database. Ed me lo da nel caso io tenti di aggiungere una nuova classe. Ma cavolo..
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: fsurfing - 13 Luglio 2009, 20:15:01
prova con queste modifiche
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 14 Luglio 2009, 10:54:39
ok,a desso, provando con i tuoi file, appena tento di aprirlo, mi viene fuori un pop-up con il seguente testo..

Mancano alcuni componenti : gb.db.sqlite3

Mi viene dunque da pensare che la solpa sia di tale assenza, dato che anche con i tuoi file mi da lo stesso, solito, errore..
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: Picavbg - 14 Luglio 2009, 11:47:57
Non so se hai già verificato; eventualmente non l'avessi fatto, dovresti accertarti della presenza attiva dei componenti "gb.db" e "gb.db.form" Per potere accedere alla lista dei componenti di Gambas:
Citazione
Dalla finestra di editori di Gambas, clicca sulla barra dei menu il pulsante "Proprietà", poi componenti e scorri tutti i componenti disponibili; se queeli citati sopra sono disattivi, attivali e riprova.
Se il problema é quello, hai vinto la battaglia. :-D  :ciao:  :ciao:
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: fsurfing - 14 Luglio 2009, 12:18:55
i file che ho postato sono realizzati in gambas2.14 in cui c'è un componente gb.db.sqlite3 che nelle versioni precedenti non esisteva

se hai la 2.14 abilita anche quel componente
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 14 Luglio 2009, 13:12:48
appena provato anche con gambas2.14, attivato il tutto, ma, se il db non è creato, mi continua a dire, connection is not opened, mentre se metto $hCOnn.open() (sempre prima del controllo dell'esistenza o meno), mi dice che non riesce a trovarlo(ma va'?).

Se lo faccio creare dal mio vecchio programma (il db), e rilancio la versione "nuova" (la tua), mi da sempre il solito errore, sempre nel solito punto..
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: fsurfing - 14 Luglio 2009, 13:51:41
nei miei file c'è un errore nel codice per la creazione del db percui no problem.

l' altro errore sicuramente deriva dal fatto che tu nomini la tabella classe con un numero , questo è un problema che ho rilevato anche in meteomachine , gambas o sqlite (non ho ancora capito chio dei due) non accetta nomi delle tabelle composti da soli numeri , si reoscono a creare senza problemi , peò quando si fa una ricerca viene generato un errore.

chiama le classi 3a - 2b ecc ecc e vedrai che non avrai problemi oppure fai in modo che il mome delle tabelle non sia solo numerico anche se devi inserire un nome numerico

spero di essere stato chiaro


ps:non sono sicuro ma questo problema forse è presente solo nelle ultime versioni di gambas
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 14 Luglio 2009, 14:08:50
Citazione

fsurfing ha scritto:
nei miei file c'è un errore nel codice per la creazione del db percui no problem.

l' altro errore sicuramente deriva dal fatto che tu nomini la tabella classe con un numero , questo è un problema che ho rilevato anche in meteomachine , gambas o sqlite (non ho ancora capito chio dei due) non accetta nomi delle tabelle composti da soli numeri , si reoscono a creare senza problemi , peò quando si fa una ricerca viene generato un errore.

chiama le classi 3a - 2b ecc ecc e vedrai che non avrai problemi oppure fai in modo che il mome delle tabelle non sia solo numerico anche se devi inserire un nome numerico

spero di essere stato chiaro


ps:non sono sicuro ma questo problema forse è presente solo nelle ultime versioni di gambas


non ho capito il pezzo evidenziato.
Io creo una tabella di nome classe, e questa non mi crea problemi(ho provato ad aprire il db con sqlitebrowser e vedo tutto ciò che dovrebbe esserci).

Tu dici, dunque, che il problema è se qualcuno mi scrive, come classe(che verrà salvato nella colonna/riga "classi"), un valore soltanto numerico?
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: Ceskho - 14 Luglio 2009, 14:53:22
In tutti i linguaggi di programmazione (perlomeno quelli che ho visto io sin ora) è vietato creare variabili, componenti e qualsiasi altra cosa che abbia un nome che inizi con un numero....quindi il problema potrebbe dipendere da quello (parlo per ciò che ho letto...non uso database)
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: fsurfing - 14 Luglio 2009, 14:56:36
Codice: [Seleziona]
Tu dici, dunque, che il problema è se qualcuno mi scrive, come classe(che verrà salvato nella colonna/riga "classi"), un valore soltanto numerico?


esatto

se crei una classe chiamandola solamente 3  ti darà errore la query di ricerca

se la chiami 3A andrà tutto bene
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 15 Luglio 2009, 12:01:01
mmm, ora sono su gnome, installazione perfettamente pulita, e il vecchio programma(che l'altra volta non andava) va tranquillamente. E, signori, è artito anche quello nuovo, un grazie infinito a tutti voi che mi avete aiutato, e scusatemi per la tortura che vi ho inflitto..

Un paio di cose, prima:
1-come è possibile che su ubuntu 9.04 installazione pulita, con gambas 2.14 va tutto, mentre su kubuntu 9.04 installazione pulita, con gambas 2.14, mi venisse fuori sempre il solito errore?

2-La storia dei database & numeri: ne siete sicuri? sempre che non abbia inteso male io, io non potrei salvare i miei voti dentro al db, ma in realtà lo faccio tranquillamente. Anche con il 2.14. Ho capito male io, per caso?
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: Ceskho - 15 Luglio 2009, 12:46:14
Citazione

RiCi12 ha scritto:

2 La storia dei database & numeri: ne siete sicuri? sempre che non abbia inteso male io, io non potrei salvare i miei voti dentro al db, ma in realtà lo faccio tranquillamente. Anche con il 2.14. Ho capito male io, per caso?


Quello che fsurfing intendeva è che il nome del database non può essere solo un numero ma deve essere almeno alfanumerico...ovvio che al suo interno puoi trattare i numei altrimenti sarebbe uno strumento alquanto limitato...;-)
Titolo: Re: query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 15 Luglio 2009, 13:07:23
Citazione

Ceskho ha scritto:
Citazione

RiCi12 ha scritto:

2 La storia dei database & numeri: ne siete sicuri? sempre che non abbia inteso male io, io non potrei salvare i miei voti dentro al db, ma in realtà lo faccio tranquillamente. Anche con il 2.14. Ho capito male io, per caso?


Quello che fsurfing intendeva è che il nome del database non può essere solo un numero ma deve essere almeno alfanumerico...ovvio che al suo interno puoi trattare i numei altrimenti sarebbe uno strumento alquanto limitato...;-)


ahhhhnn, scusate, inteso male io, infatti mi pareva un po' strana come cosa.. :-D
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: Ceskho - 15 Luglio 2009, 14:13:40
[OT]

Non ti preoccupare...fsurfing è straniero quindi alle volte non si capisce cosa dice..noi ormai abbiamo imparato a capirlo...devi pensare laterale per capire cosa dice...:-D
[OT]
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 15 Luglio 2009, 14:56:31
Citazione

Ceskho ha scritto:
[OT]

Non ti preoccupare...fsurfing è straniero quindi alle volte non si capisce cosa dice..noi ormai abbiamo imparato a capirlo...devi pensare laterale per capire cosa dice...:-D
[OT]

 :lol:

comunque, una cosa dato che ci sono(non ho voglia di aprire nuovi thread, o mi conviene?)..

Che differenza c'è tra "applicazione grafica" e "qt graphical application/applicazione grafica gtk+"? So cosa sono qt e gtk+, ma non riesco a capire cosa differisce la semplice applicazione grafica da queste altre?

E ultima cosa: ho creato una semplice "applicazione grafica", ma, dopo aver creato file .deb per l'installazione, se ci clicco due volte sopra mi parte il pre-processo d'installazione, avvertendomi che ci sono 9 file da scaricare (dipendenze): controllando, ho notato che son tutti file gambas-bla-bla..Non capisco, se un'altra persona prende il deb, cos'è, all'installazione, lo costringe ad installare tutti quei pacchetti, se non di più?
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: Ceskho - 15 Luglio 2009, 15:30:06
Si...gambas ha bisogno di un interprete per funzionare e pertanto se distribuisci i tuoi pacchetti anche chi lo usa deve avere l'interprete o perlomeno le parti di esso che servono....comunque se non scrivi programmi che usano tutti i componenti di gambas le dipendenze non portano via moto spazio....
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 15 Luglio 2009, 15:33:32
ma quindi, se andassi a creare un eseguibile, questa "storia" come andrebbe a finire?
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: Ceskho - 15 Luglio 2009, 16:31:39
Attenzione: c'è distinzione tra eseguibile e pacchetto...tu parli di pacchetti (.deb o .rpm)...quando ne crei uno il tuo sistema tiene conto di tutte le parti di gambas che hai utilizzato e quando distribuisci il tuo software chi lo prendere per installarlo si ritrova a dover installare tutte quelle parti che tu hai usato e che quindi sono vitali per il funzionamento del programma stesso....
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 15 Luglio 2009, 17:45:14
ero conscio di questa distinzione...
Non riuscivo a capire come gestiva le dipendenze con l'eseguibile..
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: Ceskho - 15 Luglio 2009, 17:56:12
L'eseguibile non ha bisogno di dipendenze perchè non installa nulla sul sistema. Si presume che chi usa l'eseguibile abbia già gambas installato altrimenti il software neanche parte...
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 15 Luglio 2009, 19:45:20
mmm, ok, perfetto, grazie mille per la spiegazione..
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: leo72 - 16 Luglio 2009, 06:36:34
Per la questione dell'applicazione grafica Vs. l'applicazione Qt/GTK, bisogna fare riferimento al fatto che i widget di Gambas, vale a dire gli elementi dell'interfaccia grafica quali un pulsante, un menu a tendina, un'area di testo, sono gestiti ricorrendo (per scelta degli sviluppatori) al loro disegno tramite le 2 librerie grafiche di Linux, GTK+ o QT3.
Applicazione grafica sfrutta il componente gb.gui che sceglie in automatico la libreria da usare in base al desktop manager su cui gira: per cui sceglie GTK se si "accorge" di essere su Gnome, QT se si "accorge" di essere su KDE. Questo per uniformare l'aspetto dell'applicazione Gambas con quello del resto del desktop.  Per renderti conto delle differenze fra le due librerie, avvia K3B su Gnome oppure Brasero su KDE: vedrai che entrambe appaiono "fuori posto", perché i loro elementi grafici stonano con quelli delle altre applicazioni.

Ti chiederai: è un problema solo estetico, quindi? No, purtroppo, perché le differenze fra le due librerie non si fermano a questo. Nonostante gli sforzi degli sviluppatori di rendere i componenti gb.gtk e gb.qt il più simile possibile, le QT sono un po' più complete ed offrono qualcosa in più delle GTK. Ad esempio se intendi stampare direttamente da Gambas, devi per forza usare le QT perché l'oggetto Printer è gestito solo da esse.
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: RiCi12 - 16 Luglio 2009, 12:12:46
Citazione

leo72 ha scritto:
Per la questione dell'applicazione grafica Vs. l'applicazione Qt/GTK, bisogna fare riferimento al fatto che i widget di Gambas, vale a dire gli elementi dell'interfaccia grafica quali un pulsante, un menu a tendina, un'area di testo, sono gestiti ricorrendo (per scelta degli sviluppatori) al loro disegno tramite le 2 librerie grafiche di Linux, GTK+ o QT3.
Applicazione grafica sfrutta il componente gb.gui che sceglie in automatico la libreria da usare in base al desktop manager su cui gira: per cui sceglie GTK se si "accorge" di essere su Gnome, QT se si "accorge" di essere su KDE. Questo per uniformare l'aspetto dell'applicazione Gambas con quello del resto del desktop.  Per renderti conto delle differenze fra le due librerie, avvia K3B su Gnome oppure Brasero su KDE: vedrai che entrambe appaiono "fuori posto", perché i loro elementi grafici stonano con quelli delle altre applicazioni.

Ti chiederai: è un problema solo estetico, quindi? No, purtroppo, perché le differenze fra le due librerie non si fermano a questo. Nonostante gli sforzi degli sviluppatori di rendere i componenti gb.gtk e gb.qt il più simile possibile, le QT sono un po' più complete ed offrono qualcosa in più delle GTK. Ad esempio se intendi stampare direttamente da Gambas, devi per forza usare le QT perché l'oggetto Printer è gestito solo da esse.


wow, che spiegazione.

Quindi, in un certo senso, per programmi semplici sonverrebbe svillupare una semplice applicazione grafica, mentre per cose complesse bisognerebbe decidere al momento cosa usare?
Titolo: Re: [RISOLTO]query failed: sql error or missing database...WTF???
Inserito da: Ceskho - 16 Luglio 2009, 14:00:39
RiCi12 ha scritto:
Citazione


wow, che spiegazione.

Quindi, in un certo senso, per programmi semplici sonverrebbe svillupare una semplice applicazione grafica, mentre per cose complesse bisognerebbe decidere al momento cosa usare?


La cosa va ben oltre il semplice fattore grafico. Ad esempio, se io volessi vendere il mio software dovrei pensare bene a quale libreria grafica utilizzare perchè le due (qt e gtk) vengono distribuirte con licenze diverse. In querl caso perciò non basterebbe creare una semplice applicazione grafica ma dovrei costruire il mio programma esclusivamente su una delle due librerie.

Poi c'è la questione stampa, web e roba simile che si trovato solo con le qt..e pertanto in un progetto in cui si fa uso di tali possibilità si deve per forza usare gb.qt...