Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    [delphi] proprieta sql di query

    Ho un campo che si chiama Codice Cliente (string)....

    quando scrivo da object inspector nella proprietà sql la sintassi seguente:

    select * from pazienti where Codice Cliente =: IDClienti

    non funge, e secondo me non funziona perchè c'è lo spazio.....


    grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Quale formato di database stai utilizzando?
    Probabilmente Access...

    Non sono sicuro che sia colpa dello spazio...ti sei ricordata di specificare anche il valore del parametro che hai inserito all'interno della query, vero?

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Ma ciaooooo
    allora..
    Database PARADOX (vers 5)
    ho fatto una prova se io scrivo ...
    select * from pazienti where Codice Cliente ="1" non funziona
    invece se tolgo lo spazio:
    select * from pazienti where CodiceCliente ="1" funziona !
    se metto i parametri, cioè:
    select * from pazienti where CodiceCliente = : CodiceCliente

    mi va in errore....il valore del parametro COdice Cliente ancora devo passarlo da codice....quando imposto la proprietà della query active= true
    va in errore e mi dice.....token not found.....cliccando infatti sulla proprietà Params della query non è impostato nulla! c'è qualcosa che mi manca...e non ricordo cosa..è un pò che non metto mani in delphi ....!

    GRAZIES

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Come impostazione generale, ti suggerirei di evitare spazi nei nomi dei campi, in modo da risparmiarti l'uso di virgolette e altri caratteri speciali nella costruzione di statement SQL.

    Per quanto riguarda i parametri, il segno dei due punti ( deve essere "appiccicato" alla sinistra del nome del parametro.

    Quando hai inserito la query nella proprietà SQL del componente TQuery, imposta i singoli parametri usando la funzione ParamByName.

    Ti riporto un esempio:

    codice:
     ...
     Qry.SQL.Text = 'SELECT * FROM CLIENTI WHERE IDCLIENTE = :ID';
     Qry.ParamByName('ID').AsInteger := 1;
     Qry.Active = True;
     ...
    Buonanotte signorina!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5

    [delphi] proprieta sql di query

    Grazie signorino....


    Ma......vorrei aggiungere una cosa.....io so come fare ad impostare
    il tutto da codice.....però io volevo impostare il parametro
    dalla proprietà sql della table....DALL'OBJECT iNSPECTOR
    e poi passare da codice solo il valore del parametro...!
    Mi sembra di aver già fatto cosi se non mi confondo...
    Il nome del campo purtroppo ha lo spazio, non posso cambiarlo
    non l'ho fatto io....! HE HE HE



    grazies signorino


  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Hai provato a racchiudere il nome del campo tra parentesi quadre?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7

    [delphi] proprieta sql di query

    si ...ho provato......ma niente.....lo spazio proprio non gli piace...!


    SIGH!


    ma non vai a dormire?

  8. #8
    ehi non mescoliamo il tecnico e il sentimentale!!!!

    MAAAAAAAAARCO cosa dici!!!!!

    scherzo ovviamente, anche io ho avuto problemi con i nomi di campi con lo spazio e la soluzione migliore è come ha suggerito alka levare gli spazi, se non ricordo male ero riuscito a farlo funzionare, ma non accenno la soluzione perchè non la ricordo bene e non volgio dire stupidagini.

    Signorini....

    Ciao Marco

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Sorry, ogni tanto mi faccio prendere la mano....

    Credo di aver risolto il problema. Devi usare le virgolette (") per racchiudere i nomi di campi e tabelle che includono degli spazi.

    Ti riporto un esempio di statement SQL testato su un database esistente tramite il componente BDE TQuery:
    codice:
      SELECT * FROM "Indirizzi dipendenti"
      WHERE "ID dipendente" = 2
    Questa query permette di estrarre dalla tabella Indirizzi dipendenti tutti i record che contengono il valore 2 all'interno del campo ID dipendente.

    Adattalo al tuo caso (inserendo anche il parametro di cui fai giustamente uso) e tutto dovrebbe funzionare a meraviglia.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10

    [delphi] proprieta sql di query

    Ciao Marco e grazie, infatti con le virgolette ho risolto.....


    PS.. bDaniele è geloso.....!




Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.