Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117

    [C#] Passaggio di parametri

    In un esempio, nella fase di aggiornamento di un dataadapter ho trovato questo passaggio di parametri alla query di update

    cmd.Parameters.Add(new SqlParameter("@NewCustomerID",SqlDbType.NChar,5,Pa rameterDirection.Input,false,0,0,"CustomerID",Data RowVersion.Current,null));

    la mia domanda è:

    è possibile evitare di passare tutte queste informazioni?? lo chiedo perchè nelle applicazioni web ho sempre fatto:

    myCommand.Parameters.Add(new SqlParameter("@Codice", CodiceElemento));

    nell'esempio indicato invece vengono inseriri molti elementi.... e tra l'altro non riesco a capire dove si trova il valore da passare al parametro (nel mio esempio CodiceElemento)

    Grazie per l'aiuto

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Alcuni parametri da passare al costruttore di SqlParameter sono facoltativi (vengono inizializzati con valori di default), quindi non sempre sei costretta a indicarli tutti.

    Per l'inizializzazione del valore, io utilizzerei un approccio simile al seguente:
    codice:
    SqlParameter param;
    param = new SqlParameter("@NOMEPARAMETRO", SqlDbType.VarChar);
    param.Value = "VALORE";
    command.Parameters.Add(param);
    Non ho verificato sintatticamente il codice, ma serve per rendere l'idea.

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

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

  3. #3
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    E' quello che pensavo io, ma nell'esempio che ho trovato c'è solo



    SqlCommand cmd = new SqlCommand("UPDATE Customers SET CustomerID=@NewCustomerID,"+
    "CompanyName=@NewCompanyName, ContactName=@NewContactName "+
    "WHERE CustomerID=@OldCustomerID AND CompanyName=@OldCompanyName "+
    "AND ContactName=@OldContactName ",Conn);

    cmd.CommandType = CommandType.Text;

    cmd.Parameters.Add(new SqlParameter("@NewCustomerID",SqlDbType.NChar,5,Pa rameterDirection.Input,false,0,0,"CustomerID",Data RowVersion.Current,null));
    cmd.Parameters.Add(new SqlParameter("@NewCompanyName",SqlDbType.VarChar ,50,ParameterDirection.Input,false,0,0,"CompanyNam e",DataRowVersion.Current,null));
    cmd.Parameters.Add(new SqlParameter("@NewContactName",SqlDbType.NChar,50, ParameterDirection.Input,false,0,0,"ContactName",D ataRowVersion.Current,null));

    cmd.Parameters.Add(new SqlParameter("@OldCustomerID",SqlDbType.NChar,5,Pa rameterDirection.Input,false,0,0,"CustomerID",Data RowVersion.Original,null));
    cmd.Parameters.Add(new SqlParameter("@OldCompanyName",SqlDbType.VarChar ,50,ParameterDirection.Input,false,0,0,"CompanyNam e",DataRowVersion.Original,null));
    cmd.Parameters.Add(new SqlParameter("@OldContactName",SqlDbType.NChar,50, ParameterDirection.Input,false,0,0,"ContactName",D ataRowVersion.Original,null));

    SqlDataAdapter da = new SqlDataAdapter();

    da.UpdateCommand = cmd;


    eppure l'aggiornamento funziona correttamente, non capisco dove viene passato il valore da aggiornare.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Originariamente inviato da valeria75
    eppure l'aggiornamento funziona correttamente, non capisco dove viene passato il valore da aggiornare.
    Probabilmente viene passato anch'esso in fase di creazione.

    La Microsoft .NET SDK Documentation contiene comunque tutte le informazioni a riguardo, l'uso di metodi e proprietà, esempi e altro.

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

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

  5. #5
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    In che senso in fase di creazione???

    Dove viene indicata l'associazione ai campi?? E quale campo del datagrid associare?

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.