Gambas-it

Gambas3 => Programmazione => Topic aperto da: Murduk - 11 Febbraio 2018, 23:17:13

Titolo: Aspetto un vostro aiuto per capire perche non va questa routin
Inserito da: Murduk - 11 Febbraio 2018, 23:17:13
Mi spiego subito. Devo estrarre da una data base dei dati che corrispondono ad una scadenza.
In pratica estraggo mediante una query o sql mettendo come parametro un filtro. Sicuramente quello che mi sta fregando sono le / che separano la data 02/11/2018
perché la stessa sql con un dato senza le / funziona. Ma non capisco come fare. Passo il codice e così vedete.
Codice: [Seleziona]
'' Gambas class file
' Proviene da Un Modulo
Private hconn_giorno As Connection
Private hresult_Isi As Result
Private hresult_Preu As Result

'*************************

Public Sub Form_Open()
Dim result_isi As Result
Dim Filtro_Isi As String

'Dim Popola As String
   Try Mkdir User.Home &/ ".visor"
 
        hconn_giorno = Modulo_connectDB.ConectBase()
       
   TextBox5.Text = TextBox2.Text & "/" & TextBox3.Text & "/" & TextBox4.Text     
       
       
        Filtro_Isi = TextBox5.Text
       
       
       'TextBox6.Text = Filtro_Isi
         ' Eseguo una richiesta alla tabella datix_isi del database con una select
       result_Isi = hconn_giorno.Exec("Select Scadenza from datix_isi where Scadenza like  '" & Filtro_Isi & "'")
       
     Label5.Text = result_Isi["Scadenza"]   '1'


hconn_giorno.Close

End





il problema è nel punto contrassegnato con 1. il programma mi dice: Result is not avaiable
 :hard: :hard: :hard:
Titolo: Re:Aspetto un vostro aiuto per capire perche non va questa routin
Inserito da: Gianluigi - 12 Febbraio 2018, 14:42:23
Guarda l'allegato se può aiutarti  :-\

P.S. Mi ero dimenticato di verificare il vettore di ritorno, scusate.

Titolo: Re:Aspetto un vostro aiuto per capire perche non va questa routin
Inserito da: naderit - 14 Febbraio 2018, 21:31:28
Ciao se posso essere d'aiuto, per eseguire una ricerca in un campo data in questo caso mi pare  datix_isi andrà eseguita una ricerca utilizzando un formato  yyyy-mm-dd hh:nn:ss se utilizzi un database SQL quindi prova:
Filtro_Isi = Format(TextBox5.Text, "yyyy-mm-dd hh-nn-ss")
Facci sapere  :ciao:
Titolo: Re:Aspetto un vostro aiuto per capire perche non va questa routin
Inserito da: Berserker79 - 17 Febbraio 2018, 20:25:42
Ciao, come mai usi l'operatore like nel filtro? Il campo Scadenza è di tipo data o testo?
Prova ad utilizzare semplicemente
Scadenza=  '" & Filtro_Isi & "'"
e poi passa la data nel formato suggerito da naderit "yyyy-mm-dd"
Titolo: Re:Aspetto un vostro aiuto per capire perche non va questa routin
Inserito da: markZ - 18 Febbraio 2018, 22:25:35
Salve Murduk, non conoscendo il database che usi ne la definizione dei campi non è facile rispondere.
Comunque prova con  result_Isi = hconn_giorno.Exec("Select Scadenza from datix_isi = &1", Filtro_Isi)
Label5.Text = result_Isi!Scadenza
Trovo un po strano il modo in cui mescoli maiuscole e minuscole, questo potrebbe procurarti problemi
con i nomi dei campi del database e forse anche con le variabili.
Titolo: Re:Aspetto un vostro aiuto per capire perche non va questa routin
Inserito da: allegfede - 20 Febbraio 2018, 14:04:03
il tipo "data" o "time" di sql da SEMPRE problemi :D

se puoi converti il DB per usare il tipo "testo" e fa' una verifica sulle stringhe ;-)

comunque se hai dubbi o non puoi modificare la struttura del DB fai il cast verso una struttura forzata da te con format(valore_di_ritorno, "dd-mm-yyyy") ...

PS: in questo secondo non mi ricordo se mm e' per i minuti e nn per i mesi od il contrario ..... :-(