Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 45 del 29/05/2007 23.39.25

Nascondi questo messaggio

BR||<tablebgcolor="#f1f1ed" tablewidth="35%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">IndiceBR TableOfContents ||

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 

Copia, incolla e contribuisci!

[attachment:gambas.png]

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