Visualizzazione dei risultati da 1 a 5 su 5

Discussione: query parametriche

  1. #1
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    query parametriche

    Salve a tutti!

    Qualcuno di voi saprebbe dirmi la sintassi per creare query parametriche ?
    Lavoro in C# e uso visual studio 8...

    mi servono per cercare dei record in un database in base a quello che scrivo in una casella di testo opportunamente creata...

    Grazie 1000 in anticipo a chi mi risponderà!!

    _J_

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    642
    devi creare una stored procedure con tanti parameri quanti sono i campi di ricerca e dopo di che' fare una select filtrando per i soli parametri che non sano null

  3. #3
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    ...

    ciao!
    grazie per la risposta, ma a quanto pare non sono stata chiara...io intendevo un'altra cosa... Parlo proprio a livello di sintassi...
    E cioè come devo fare a far riconoscere il contenuto di una casella di testo opportunamente riempita da un utente...
    Cioè se ho un qcs del tipo:

    string testo_digitato= TextBox1.Text; //casella di testo che l'utente riempirà

    come faccio a far riconoscere 'testo_digitato' nella clausola 'where' in una query?
    Cioè se ho un certo 'campo' in una 'tabella', nella query come esprimo il fatto che 'campo' deve contenere 'testo_digitato'?
    select campo from tabella where campo= ....; //il confronto va fatto con ciò che è scritto nella textbox

    Come posso cioè far riconoscere un parametro alla query?
    Spero ora di essere stata chiara., e spero che saprai aiutarmi.
    Ti saluto

    _J_

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Ti faccio un esempio, preso in rete:
    codice:
    OleDbConnection connection = new OleDbConnection( connectionString );
    OleDbCommand command = new OleDbCommand(
                               "INSERT INTO PhoneBook(                              " +
                               "       CONTACT_NAME, CONTACT_PHONE, CONTACT_EMAIL ) " +
                               "VALUES( @ContactName, @ContactPhone, @ContactEmail )" );
    
      command.Parameters.Add( "@ContactName", OleDbType.VarChar, 20 );
      command.Parameters.Add( "@ContactPhone", OleDbType.VarChar, 20 );
      command.Parameters.Add( "@ContactEmail", OleDbType.VarChar, 100 );
    
      command.Parameters[ "@ContactName" ].Value = name;
      command.Parameters[ "@ContactEmail" ].Value = email;
      command.Parameters[ "@ContactPhone" ].Value = phoneNumber;
    
      command.Connection = connection;
      command.Connection.Open();
      command.ExecuteReader();
      command.Connection.Close();
    Mi sembra abbastanza chiaro.
    Comunque, è altamente sconsigliato prendere un testo digitato in una textbox ed appiccicarlo con leggerezza ad una query.

    E' sempre meglio separare la logica SQL da quella applicativa (come motivo pensa al fatto di dover aggiornare una query. Questo ti comporta di dover ricompilare l'applicazione e rifarne il deploy....), ed il suggerimento di usare le Stored Procedure è giusto. Pensaci ;-)

  5. #5
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    Ciao djciko!

    a quanto pare si usa @ per i parametri...
    Il post che hai fatto usa anche Parameters e Add.. grazie per la dritta!

    in effetti le query sono soggette a cambiamenti col tempo... avete ragione voi, meglio separare le cose!

    GRAZIE INFINITAMENTE a TE ed a CIPCIP!!!

    _J_

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.