Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB.NET + SQL] Query con parametri..

    Devo fare una query piuttosto complessa su di una tabella che ha circa 40 campi, pensavo di farla tramite parametri creando un stringa sql di questo tipo:

    codice:
    sql = "SELECT * FROM immobili WHERE rif=@p1 AND indir=@p2 AND locali =@p3 ......... "
    (Dove, ovviamente, al posto dei puntini ci sono gli atri campi della tabella col nome del parametro....)

    Pensavo poi di passare i parametri in questo modo:
    codice:
    cmd.Parameters.AddWithValue("@p1", txtrif.Text)
    cmd.Parameters.AddWithValue("@p2", txtind.Text)
    cmd.Parameters.AddWithValue("@p3", txtloc.Text)
    '... ecc ecc
    Il problema è che non sempre tutti i campi mi interessano, vorrei cioè poter effettuare la query solo su alcuni campi, ed utilizzando quindi solo alcuni parametri, che però possano cambiare a seconda di quali textbox vengono riempiti da chi utilizza il programma.. se però non eseguo l'istruzione cmd.parameters.add per ogni parametro della stringa sql ricevo un errore in cui mi si dice che alcuni dei paramtri necessari non sono presenti.. Come posso risolvere il problema? solo costruendo dinamicamente la stringa sql a seconda dei textbox riempiti?

    Grazie!!

    PS:spero si capisca qualcosa, il discorso è un po' contorto..
    zoodany..

    www.zoodany.it

  2. #2
    una soluzione è come dici tu creare la stringa del command dinamicamente altrimenti devi utilizzare i like, cioè anzichè dell'uguale usare LIKE e dove non ti serve quel parametro come valore del campo utilizzi %, non so se mi sono spiegato...
    Se hai tre parametri ma in questa ricerca ti servono solo i primi due, i primi due avranno valore della textbox il terzo avrà valore %, cioè tutti.. ciao ciao
    I database... la mia passione + o -

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.