Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Topics - Phoenix

Pagine: [1]
1
Programmazione (Gambas 2) / Modulo per connessione DB SQLite3
« il: 13 Dicembre 2008, 15:42:18 »
Allora sono passato a sqlite3 per il mio progetto (vedi post precedenti).

Prima utilizzando mysql andavo a creare la connessione in un modulo esterno al form, quando dovevo connettermi richiamavo la connessione dal modulo e riusciva a operare sul db senza dover ogni volta ripetere i dati di connessione.

Passando a sqlite3 mi sono detto "ok togliendo nome e pass e dandogli il nome del file che costituisce il db non ci dovrebbero essere probemi" .... furono le mie ultime parole famose ....

Quando richiamo la connessione mi da sempre che non trova il db o che la query non è esatta. Ho provato a fargli passare la query con sqlitebrowser e non ci sono problemi, quindi non trova il db, ho provato vari modi ma l'errore non cambia.

Posto qui sotto il contenuto del modulo ModDb

-------------------------------------------------------------------------------

' Gambas module file
PUBLIC $conn AS NEW Connection
PUBLIC $dbName AS String = "working.db"
PUBLIC $sql AS String

PUBLIC PROCEDURE Connect()

'################## MYSQL
'$conn.Close() 'chiude la connessione
'$conn.Type = "mysql" 'tipo di connessione
'$conn.Host = "localhost"
'$conn.Host = "localhost" 'nome del server
'$conn.Login = "root" 'username della connessione
'$conn.port = "3306" 'porta utilizzata dal database
'$conn.Name = "working" 'nome del database da utilizzare
'$conn.Password = "password-root" 'password di accesso
'$conn.Open() 'apre la connessione

'################## SQLITE3

  $conn.Close
 
  WITH $conn
    .Type = "sqlite3"
    .Host = User.Home
  END WITH

  $conn.Open
 
  IF (NOT $conn.Databases.Exist($dbName)) THEN
      Message.Info("Il DB non esiste", "OK")
      'creo il db
      $conn.Databases.Add($dbName)
      Message.Info("Creo il DB", "OK")
      Message.Info("Creo la tabella Utente", "OK")
      $sql = "CREATE TABLE utente (attivo NUMERIC, id INTEGER PRIMARY KEY, nome_completo TEXT, uname TEXT, upass TEXT)"
      $conn.Exec($sql)
  ENDIF

END

PUBLIC SUB Main()

  Connect() 'avvia la procedura per la connessione

END

-------------------------------------------------------------------------------

E qui posto la parte da dove parte la chiamata al modulo dal form dove serve operare con il db

--------------------------------------------------------------------------------

'inserimento dati
  ModDb.Connect()
  ModDb.$conn.Name = "working.db"
  $sql = "insert into utente values (1,NULL,'" & $nomeCompleto & "','" & $nomeVisualizzato & "','" & $password & "')"
  $result = ModDb.$conn.Exec($sql)

--------------------------------------------------------------------------------

ModDb.$conn.Name = "working.db" l'ho aggiunto dopo anche se non sono mai stato troppo convinto che servi a qualcosa.

Ho provato a operare con la connessione direttamente sul form e non ci sono problemi quindi presumo che l'errore sia nel modulo. Come posso procedere?

2
Salve a tutti questa è il mio secondo quesito. Devo conteggiare il numero di record estratti da una tabella MySQL.

Non voglio utilizzare count(). Utilizzando PHP potrei usare "mysql_num_rows" ma in gambas come posso fare?

----------
Prendo spunto dell'argomento MySQL per porre una domanda per la distribuzione di un eventuale programma che ne faccia uso.

Quale potrebbe essere il modo migliore per installare un db? Crearlo al primo avvio del programma? In ogni caso dovrei avere i permessi per farlo, potrei far scegliere all'utente finale il nome e passwd di identificazione per averne i permessi ma se è un newbie?

Grazie per l'attenzione.

3
Programmazione (Gambas 2) / MD5
« il: 10 Dicembre 2008, 01:37:43 »
Salve a tutti, è da pochi giorni che mi sono avvicinato a gambas (2 giorni) e vorrei saper come cryptare una parola o frase in MD5.

Ho attivato il componente gb.crypt e letto la spiegazione su http://gambasdoc.org/help/comp/gb.crypt/crypt/_call?it ma sinceramente non ho capito come proseguire, qualcuno sarebbe così gentile da farmi uno schemino pratico?

Grazie

Pagine: [1]