Autore Topic: Uso del filtro nelle query  (Letto 4231 volte)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Uso del filtro nelle query
« Risposta #15 il: 17 Febbraio 2008, 20:00:05 »
Prova con:

   curdate &= "stringa"

scrivi un pò di meno :-)

Puoi anche usare la Subst(), che ti sostituisce i parametri inseriti ad hoc in una stringa con i valori che hai deciso di inglobare...

Non ricordo se l'anno inserita, ma credo che una piccola funzione o classe, apposita per le date sarebbe una cosa carina.

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Uso del filtro nelle query
« Risposta #16 il: 17 Febbraio 2008, 23:08:13 »
Grazie x la dritta. Una cosa collegata alla routine che ho notato pochi minuti fa: il mio orologio faceva le 23.02 e il componente DateChooser gia' mi evidenziava come data corrente il giorno 18 (con la funzione DateChooser.value=date(now)..)...come mai anticipa di un'ora? allego a titolo di esempio la form in cui uso le routine delle date.

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Uso del filtro nelle query
« Risposta #17 il: 18 Febbraio 2008, 11:10:05 »
Torno un attimo sul problema delle date e di SQLite3.

Vorrei invitarvi ad usare i parametri nelle query, a discapito magari di un'abitudine personale.

Questo perché Gambas "traduce" nel corretto formato i parametri prima di comporre la query in SQL da passare al DB.
Come ho scritto, usando

Codice: [Seleziona]

Connessione.EXEC("SELECT * FROM nome_tabella WHERE campo_data = &1", Data)


si ottiene il risultato voluto senza codici extra di conversione.



Per quanto concerne il tuo problema, Andy: forse c'entra qualcosa il fuso orario del tuo sistema con Linux?
Linux ha un sistema di gestione del tempo molto complesso: infatti, in fase di installazione di qualunque distro, viene chiesto sempre se l'orologio interno funziona con il tempo universale o con l'ora locale. Mi viene da pensare che ci sia nel tuo sistema qualcosa di conflittuale che fa sbagliare DateChooser.
Penso a questo perché anch'io uso il componente DateChooser con Date(Now) e non ho di questi problemi.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Uso del filtro nelle query
« Risposta #18 il: 18 Febbraio 2008, 11:53:53 »
Grazie di cuore, sto approntando la versione beta del sofware di cui ho postato una form. Il codice non è sistemato al meglio. La razionalizzazione sara' il passo successivo e conto di utilizzare il metodo che te gentilmente hai suggerito.

Per l'orologio verifico. Il mio sistema faceva le 11 pm quando DateChooser mi ha cambiato la data in 18, quindi un'ora prima.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Uso del filtro nelle query
« Risposta #19 il: 18 Febbraio 2008, 17:11:16 »
E quindi giustamente il fuso orario italiano

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Uso del filtro nelle query
« Risposta #20 il: 18 Febbraio 2008, 20:57:25 »
per il momento la cosa è marginale, dovro risolverla quando vado a rifinire il software

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Uso del filtro nelle query
« Risposta #21 il: 19 Febbraio 2008, 06:14:31 »
usando EXEC, se il filtro è composto da due campi con che sintassi passo la richiesta? grazie x l'aiuto..

es. filtro formato da una certa data e da un altro campo avente un certo id..

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Uso del filtro nelle query
« Risposta #22 il: 19 Febbraio 2008, 07:03:44 »
Non hai un limite sul n° dei parametri.
Esempio:
Codice: [Seleziona]

Connessione.EXEC("SELECT * FROM nome_tabella WHERE CAMPO1 = &1 AND CAMPO2 = &2 AND CAMPO3 = &3 ORDER BY &4", Dato1, Dato2, Dato3, Dato4)


Per la questione orologio, dando "date" da terminale cosa ottieni?
Visita il mio sito personale: http://www.leonardomiliani.com

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Uso del filtro nelle query
« Risposta #23 il: 19 Febbraio 2008, 10:53:05 »
Ti faccio sapere in giornata. Sono in uff...ciao

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Uso del filtro nelle query
« Risposta #24 il: 20 Febbraio 2008, 07:46:36 »
oggi alle 07:45 mi da': mer feb 20 07:45:46 CET 2008

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Uso del filtro nelle query
« Risposta #25 il: 20 Febbraio 2008, 20:07:55 »
Prova a formattarlo, il fatto che ti stampa direttamente in quel formato vuol dire solo che per default le date vengono codificate in quel modo.
Credo che, e di solito è così, la rappresentazione visuale di una data dipende dalle impostazioni date a livello generale sul sistema (es. basta la lingua scelta).
A meno di non modificare tali impostazioni, penso tu debba agire convertendo la data da codice.

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Uso del filtro nelle query
« Risposta #26 il: 23 Febbraio 2008, 07:19:59 »
ci provo sicuro, appena risolvo la questione dei grafici su gambas :roll:  grazie...ps vado off topic...ho inserito il link al tuo sito sul mio blog

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Uso del filtro nelle query
« Risposta #27 il: 25 Febbraio 2008, 00:23:05 »
Grazie!!!

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Uso del filtro nelle query
« Risposta #28 il: 10 Marzo 2008, 09:31:32 »
questo tipo di utilizzo funziona anche per i comandi sql UPDATE e INSERT? Ancora, se funziona con il comando INSERT, come devo trattare la variabile che va ad aggiornare un campo stringa?

es.

Codice: [Seleziona]
dim res as result
res= mMAIN.$con.Exec("UPDATE tabella SET campotesto=&1",textBOX1.text)


oppure
Codice: [Seleziona]
res= mMAIN.$con.Exec("UPDATE tabella SET campotesto='&1'",textBOX1.text)


Con questo tipo di comando ho problemi

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Uso del filtro nelle query
« Risposta #29 il: 11 Marzo 2008, 09:22:43 »
Ad occhio credo che sia corretta la prima, senza gli apici.
Visita il mio sito personale: http://www.leonardomiliani.com