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

    Problemi Parameters.Add

    Ciao a tutti,
    sto cercando di creare una query parametrica... purtroppo però sembra che i reggiposto @, non prendano il valore del parametro.

    vi posto il codice...
    codice:
    cmd = new SqlCommand(SelSqlQueryExpList[i].ToString(), conn);
    
    cmd.Parameters.Add("@colonna", SqlDbType.VarChar);
                                cmd.Parameters["@colonna"].Value = colonna;
                                cmd.Parameters.Add("@tabella", SqlDbType.VarChar);
                                cmd.Parameters["@tabella"].Value = tabella;
    la stringa di connessione relativa è così definita:

    codice:
    SELECT RecordID, @colonna, FROM @tabella WHERE @colonna IN (SELECT @colonna FROM @tabella GROUP BY  @colonna HAVING count(@colonna) > 1
    Quando vado a verificare in debug, la stringa non sostituisce i valori ai parametri, eppure mi pare di aver fatto tutto secondo procedura...
    Ogni popolo ha il governo che si merita...

  2. #2
    Ho scoperto che i parametri è possibile applicarli solo sui valori e non su tabelle e campi...

    Però a questo punto come posso risolverla??

    La stringa in questione è prelevata dal DB.

    quindi a questa stringa devo applicare tabella e colonna dinamici...

    Help!!
    Ogni popolo ha il governo che si merita...

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Potresti fare una Stored Procedure con una stringa, che compone la query con i parametri che gli passi.

    Una mia di esempio:

    codice:
    ...PROCEDURE [dbo].[p_ListaNews]
    (
    	@p_IDNews numeric(4)
    )
    AS
    BEGIN
        declare @strQuery varchar(1024)
        set @strQuery = 'SELECT ID,TESTO,DATA_INSERIMENTO FROM STORICO_NEWS	WHERE 1=1'
        
        IF  @p_IDNews IS NOT NULL AND @p_IDNews > 0
        BEGIN
           set @strQuery = @strQuery + ' AND ID=' + CONVERT(VARCHAR, @p_IdNews)      
           set @strQuery = @strQuery + ' ORDER BY DATA_INSERIMENTO DESC'
        END
    
        EXECUTE(@strQuery)
    END

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.