>Ciao,
Ciao!
>ho il seguente problema ho una maschera con N campi. L'utente
>può cambiare uno o più campi.
>Vorrei sapere se si può fare una query che utilizza solo i parametri
>relativi ai campi che sono stati modificati.
>Quello che chiedo è questo e forse è una ca...ta: si può scrivere
>sul server una query di update che abbia tanti parametri quanti
>sono i campi della tabella e poi da codice valorizzare solo quelli
>utilizzati (per esempio solo 2 parametri).
>Oppure la query si costruisce tutta via codice inserendo i parametri
>interessati.
Se vuoi utilizzare un metodo per fare l'update senza ricorrere a sql dinamico qualcosa puoi fare.
Non è il massimo, ma puoi scrivre la tua update simile a questa:
UPDATE
<tua tabella>
SET
campo1 = CASE WHEN @param1 IS NULL THEN campo1 ELSE @param1 END
, campo2 = CASE WHEN @param2 IS NULL THEN campo2 ELSE @param2 END
...
WHERE
<tua condizione>
In questo modo, anche se non passi il parametro il campo non si aggiorna (o meglio, si aggiorna a se stesso)
>Inoltre è meglio utilizzare un command di ADO ovvero T-SQL per fare questa cosa ?
In questi casi, in cui sei costretto a rendere dinamico il comando (o a ricorrere a sotterfugi come quello che ti ho indicato) sarebbe buona cosa comporre il comando come stringa e poi eseguirlo con sp_executeSQL (una stored procedure di sistema di sql server) che è ottimizzata per questo tipo di operazioni.
Comunque credo che riuscirai a cavartela con il metodo indicato sopra.
>Grazie a quanti dedicheranno il loro tempo.
di nulla! 
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org