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.
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
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:
Dim s As String
If IsNull(s) Then Print "La variabile 's' è nulla !"
Non so, però, se e come è adattabile al tuo problema. :-\
prova così
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
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:
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: