Gambas-it

Gambas3 => Programmazione => Topic aperto da: naderit - 30 Novembre 2014, 10:57:01

Titolo: [RISOLTO]SQLite3 record null
Inserito da: naderit - 30 Novembre 2014, 10:57:01
Ciao
vi pongo il seguente quesito, a cui non riesco a venirne a capo,:
Ho un database regolarmnete creato, e non ancora popolato, e fino qui tutto ok, quanto vado a leggere i record con il seguente codice mi da errore.
Codice: [Seleziona]
Public Sub Button4_Click()

Dim db_anagrafica As New Connection
Dim rs_soci As Result  
Dim sql As String
Dim codice As Integer

With db_anagrafica
  .Type = "sqlite3"
  .Host = Application.Path
  .Name = "anagrafica"
  .Open
 
End With
rs_soci = db_anagrafica.Exec("SELECT * FROM soci") ' query di selezione
rs_soci.MoveLast ' ultimo record

Label10.text = rs_soci!idsoci ' leggo il valore

End

questo è solamente di prova, ma se nel database inserisco almeno un record il tutto funziona, la mia domanda:
esiste un'istruzione che mi riconosca il campo nullo e mi restituisca un valore che io possa gestire, senza dover per forza scrivere il primo record nel database?

grazie
Titolo: Re: SQLite3 record null
Inserito da: vuott - 30 Novembre 2014, 14:50:45
la mia domanda:
esiste un'istruzione che mi riconosca il campo nullo e mi restituisca un valore che io possa gestire, senza dover per forza scrivere il primo record nel database?

Io di database non ne so... Null, però posso ricordare che - in generale - per sapere se una variabile è nulla, si utilizza la funzione IsNull(), che restituisce un valore booleano.
Esempio:
Codice: gambas [Seleziona]
Dim s As String

   If IsNull(s) Then Print "La variabile 's' è nulla !"


Non so, però, se e come è adattabile al tuo problema.  :-\
Titolo: Re: SQLite3 record null
Inserito da: Golia - 02 Dicembre 2014, 14:37:13
prova così

Codice: gambas [Seleziona]
rs_soci = db_anagrafica.Exec("SELECT * FROM soci") ' query di selezione 

If rs_soci.Available = True Then
rs_soci.MoveLast ' ultimo record
Label10.text = rs_soci!idsoci ' leggo il valore
end if
Titolo: Re: SQLite3 record null
Inserito da: Picavbg - 02 Dicembre 2014, 15:47:38
Durante i miei primi approcci con SQLite ho affrontato anch'io il problema di tabelle del DB vuote. Allora ho affrontato il problema con istruzioni come le seguenti:

Codice: gambas [Seleziona]
 RecTab = ApriDB.DBConnection.edit($NomeTabellaDb)
 iConta = RecTab.Count     'estrae il n° di record presenti nella tabella corrente del DB
 If iConta = 0 Then
     print "Tabella '" & $NomeTabellaDb & "' = vuota"
 else
   print "La Tabella '" & $NomeTabellaDb & "' contiene n° '" & iConta & "'"
 endif


Così facendo non avrai nemmeno bisogno di eseguire una Select di lettura del DB.

 :ciao:
Titolo: [RISOLTO] SQLite3 record null
Inserito da: naderit - 14 Dicembre 2014, 18:28:36
Grazie mille :ok: