Autore Topic: Aspetto un vostro aiuto per capire perche non va questa routin  (Letto 909 volte)

Offline Murduk

  • Gamberetto
  • *
  • Post: 6
    • Mostra profilo
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:
« Ultima modifica: 12 Febbraio 2018, 12:54:58 da Murduk »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Aspetto un vostro aiuto per capire perche non va questa routin
« Risposta #1 il: 12 Febbraio 2018, 14:42:23 »
Guarda l'allegato se può aiutarti  :-\

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

« Ultima modifica: 12 Febbraio 2018, 19:23:00 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline naderit

  • Grande Gambero
  • ***
  • Post: 140
    • Mostra profilo
Re:Aspetto un vostro aiuto per capire perche non va questa routin
« Risposta #2 il: 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:

Offline Berserker79

  • Grande Gambero
  • ***
  • Post: 201
    • Mostra profilo
Re:Aspetto un vostro aiuto per capire perche non va questa routin
« Risposta #3 il: 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"

Offline markZ

  • Gamberetto
  • *
  • Post: 11
    • Mostra profilo
Re:Aspetto un vostro aiuto per capire perche non va questa routin
« Risposta #4 il: 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.

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:Aspetto un vostro aiuto per capire perche non va questa routin
« Risposta #5 il: 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 ..... :-(
se corri, morirai stanco (motto degli sniper)