Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AndreaBertini/Prove0"
Differenze tra le versioni 48 e 49
Versione 48 del 29/05/2007 23.45.23
Dimensione: 3773
Commento:
Versione 49 del 29/05/2007 23.58.42
Dimensione: 905
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
= Gambas e i database =
Gambas si presta benissimo ad essere utilizzato come front-end per la gestione di basi di dati, nei formati MySql e Sqlite, Postgresql.

== Premessa ==
Nell'esempio che segue ci agganciamo ad un database MySql già creato precedentemente. I dati di partenza sono i seguenti:

{{{
 * nome del server: localhost
 * username: il vs nome utente per MySql
 * password: la Vs password per MySql
 * database name: provadb
}}}

== Apertura del database MySql ==
Per prima cosa apriamo il nostro Gambas e creiamo un nuovo progetto. Una volta entrati inseriamo nel codice della form di partenza queste istruzioni:

{{{
'creo un nuovo oggetto connessione
PUBLIC connessione AS NEW Connection

'subroutine di connessione
PUBLIC SUB crea_connessione(mydb AS String,mytype AS String,myhost AS String,myuser AS String, mypass AS String)
'definisco i parametri della connessione
 connessione.mydb="provadb"
 connessione.mytype="mysql"
 connessione.myhost="localhost"
 connessione.myuser="mioid"
 connessione.mypass="miapassword"
 connessione.Open
 message("Apertura database eseguita con successo.")
END
}}}

Potete agganciare questa routine ad un bottone creato sulla form in modo da provare subito il codice. naturalmente questo è un esempio minimale. In effetti è importante effettuare interrogazioni sul database.

== Esecuzione di un'interrogazione (soluzione interna) ==
E' la soluzione base, più semplice.Il codice da copiare:

{{{
PUBLIC SUB Button1_Click()
 'dimensiono la variabile del risultato
 DIM res AS Result
 'dimensiono la variabile contenente la stringa
 DIM mysql AS String
 'stringa di interrogazione tabella accounts del database
 mysql = "SELECT * FROM accounts ORDER By id"
 'eseguo la ricerca
 res = connessione.Exec(mysql)
 'mi posiziono sul primo record del recordset
 res.MoveLast
END
}}}

== Esecuzione di un'interrogazione (soluzione esterna) ==
In questo caso la stringa sql risiede in un file fisico letto da Gambas ed utilizzato per effetuare la query. Per prima cosa si crea una funzione che legge la stringa di ricerca poi da utilizzare:

{{{
'Author : Andy60
'Name : SelectedSql
'Info : Load a file containing sql script
'Attributes : sqlName , filename with directory

PUBLIC FUNCTION selectedSql(sqlName AS String) AS String
  DIM linea AS String
  DIM myfile AS File
  OPEN sqlName FOR READ AS #myfile
  LINE INPUT #myfile, linea
  CLOSE #myfile
  RETURN linea
END
}}}

Successivamente si utilizza la funzione per effettuare l'interrogazione:

{{{
PUBLIC SUB LoadSimList()
'pulizia del componente che dovrà visualizzare i dati (listview)
ListView1.Clear
'utilizzo la funzione di cui sopra
mysql = selectedSql("listasim.sql")
resManager = connessione.exec(mysql)
......codice di utilizzo del recordset
END
}}}

BR

Copia, incolla e contribuisci!

Immagine(Icone/Grandi/gambas.png,50,left) Gambas è un programma divertente da utilizzare! Copia e incolla il codice presente in questa sezione e usalo nelle tue applicazioni! Contribusci alla Guida regalando il codice (segui il template delle contribuzioni). Sei invitato a suggerire anche nuove categorie da inserire nella rubrica (segui il template delle categorie).

Categorie

  • Funzioni
  • Classi
  • Database e back-end
  • Network & comunicazione

  • Interfaccia utente & front-end

  • Xml
  • Sdl
  • Grafica 2D e 3D

Immagine(Icone/Piccole/warning.png,50,left)IMPORTANTE: questa Guida è stata testata su Gambas 1.9.49