Ho una funzione (esposta come metodo di un webservice) che restituisce una stringa Sql generata in un certo modo, riempie un dataset dato quale parametro, con una tabella che contiene i risultati della stessa query.
es.
Vorrei, se fosse possibile, che la funzione 'capisca' da sé se è stata utilizzata come funzione, cioécodice:function pippo(byref ds as dataset) as string dim da as new sqladapter, sql as string = getquery(...) 'la query viene generata dinamicamente with da .selectcommand = new sqlcommand(sql, new sqlconnection(cn_string)) .selectcommand.connection.open .fill(ds) with .selectcommand .connection.dispose .connection = nothing .dispose end with .selectcommand = nothing end with return sql end function
oppure come subroutinecodice:es. variabile = rifweb.pippo(ds)
Questo perché mi deve semplicemente restituire la query generata SENZA fillare il dataset (quindi saltando la parte su database) se la uso come funzione, mentre mi deve riemprire il dataset coi dati estratti se la uso come subroutine.codice:es. rifweb.pippo(ds)
E' possibile, quindi, far sì che la funzione nel webservice capisca se è stata utilizzata come funzione oppure subroutine? nel primo caso non voglio che venga riempito il dataset perché sarebbe un'inutile spreco di tempo e risorse se la query deve essere utilizzata in altro modo e non come previsto nella stessa funzione.
Altra domanda visto che ci sono
come potete vedere sopra, non ho istanziato delle variabili per il command e la connection, creandoli direttamente "all'interno" dell'adapter invece che assegnandoli, dopo averli creati a parte, alle sue proprietà. Questo perché pensavo che così si potesse risparmiare risorse non creando le variabili.... ho detto una cazzata oppure è come penso? cioé è utile fare così o non cambia una mazza?
grazie in anticipo![]()


Rispondi quotando
