Sintassi passaggio parametro ad un SqlDataSource con DB Oracle

lunedì 23 marzo 2009 - 15.31

LuxSkyWalker Profilo | Junior Member

Ciao a tutti,

ho un grosso problema e non riesco a trovare una soluzione funzionante e allora mi rivolgo a voi!

Ho una GridView che viene popolata da un SqlDataSource, che esegue una select parametrica su db Oracle.

Qual'è la sintassi per passare un parametro (oracle) ad un SqlDataSource??

Vi scrivo parte del codice, qualcuno mi aiuti a risolvere il mio problema...please!

SqlDataSource1.SelectCommand = "SELECT * FROM tabella1 WHERE nome like ' *param* ')";
Parameter param = new Parameter(nome);
SqlDataSource1.SelectParameters.Add(param);
GridView1.DataSource = SqlDataSource1;
GridView1.DataBind();

Come vedete la query è una semplicissima select.
Ho provato a paassare il parametro in tutti i modi (@, :, ?, ...) ma niente...sembra ignorarlo, perchè se eseguo la query senza parametro, popola correttamente la gridview.
E allora credo sia un problema di come passare il parametro...

Qualcuno può/sa/vuole aiutarmi???

Grazie!!!!
LuxSkyWalker
Junior Developer .NET

Anonimo Profilo | Senior Member

Perdonami ma perchè non esegui la stringa così:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ti eviti tante rogne... spero di esserti stato utile. Ciao.

Jeremy Profilo | Guru

Ciao Marco
>Ti eviti tante rogne... spero di esserti stato utile. Ciao.
Al contrario .... le rogne le eviti con l'uso dei parametri.

Ciao Gianluca
Hai provato semplicemente = "SELECT * FROM tabella1 WHERE nome like ?"; ?
Se puoi .... indica l'errore!!

Facci sapere....
Ciao

Anonimo Profilo | Senior Member

Scusa da quando in qua la scrittura di una stringa genera più errori? Gentilmente visto che non parli con un programmatore junior motiva le tue parole...

Jeremy Profilo | Guru

>Scusa da quando in qua la scrittura di una stringa genera più
>errori?
Cosa intendi???
A parte il fatto che,nel caso specifico, ci possono essere errori di sintassi o errori di definizione del tipo di parametro e, probabilmente, anche altri ...... ma chi ha parlato di stringa che genera più errori??

>Gentilmente visto che non parli con un programmatore
>junior motiva le tue parole...
Non vorrei sembrare arrogante ma ..... perchè mai dovrei *motivare le mie parole*, ad un programmatore che si definisce non junior, sull'uso o meno di query parametriche?(tra l'altro con un tono che non mi sembra granchè educato.)
Ammesso e non concesso che tu possa essere meno junior di me ..... avresti potuto fare le tue obiezioni(o precisazioni che dir si voglia) con un pò meno di arroganza.

Ciao.

Anonimo Profilo | Senior Member

La scelta di utilizzare parametri va bene in alcuni ambiti dove la scrittura /modifica di stringhe è più lunga che l'assegnazione di parametri. Spesso i parametri presentano problemi di trasmissione e con un po' di notti in bianco sui web services lo si impara in fretta; questi generano errori nel protocollo SOAP non sempre stabile tra sistemi eterogenei.
La scrittura di una stringa è standard e si presuppone che ogni classe abbia il metodo ToString() modificato come standard Microsoft suggerisce dal 2001. Le classi native int, double, float, ecc. hanno già un loro sistema interno molto sicuro di overload, e le rispettive classi più complesse Int32, Double, ecc. ancora di più insieme ai metodi Parse.
Pertanto la mia non è arroganza, ma una persona, per quanto preparata possa essere, interviene su un forum e nega a priori una soluzione solo perchè su un libro qualcuno ha scritto che usare i parametri fa più figo non mi sembra una cosa sensata, per cui sarebbe elegante motivarla.
Infine... non sono nè junior nè senior ma architetto di soluzioni enterprise.

Jeremy Profilo | Guru

>La scelta di utilizzare parametri va bene in alcuni ambiti dove
>la scrittura /modifica di stringhe è più lunga che l'assegnazione
>di parametri.
Questa è una tua opinione del tutta legittima ma anche del tutto incondivisibile.

>Spesso i parametri presentano problemi di trasmissione
>e con un po' di notti in bianco sui web services lo si impara
>in fretta;
Io uso stringhe parametriche anche nel caso di WebService e non ho trovato queste grosse difficoltà.....sarà che sviluppo applicazioni sempliciotte ....... IO.

>La scrittura di una stringa è standard e si presuppone che ogni
>classe abbia il metodo ToString() modificato come standard Microsoft
>suggerisce dal 2001. Le classi native int, double, float, ecc.
>hanno già un loro sistema interno molto sicuro di overload, e
>le rispettive classi più complesse Int32, Double, ecc. ancora
>di più insieme ai metodi Parse.
E questo che centra con il problema di Gianluca???

>Pertanto la mia non è arroganza, ma una persona, per quanto preparata
>possa essere, interviene su un forum e nega a priori una soluzione
Non ho affatto negato una soluzione .... ho soltanto dato il mio parere su un'affermazione che Gianluca avrebbe potuto fraintendere pensando che la concatenazione di stringhe fosse migliore rispetto all'utilizzo di query parametriche.

>solo perchè su un libro qualcuno ha scritto che usare i parametri
>fa più figo non mi sembra una cosa sensata, per cui sarebbe elegante
>motivarla.
A me sembra che sia tu a volerti fare un pò *figo* .... il resto ..... evito di commentarlo.

>Infine... non sono nè junior nè senior ma architetto di soluzioni
>enterprise.
Buon per te ...... ma rilassati ..... siamo su un Forum dove non sei obbligato a tenere un corso di programmazione per ogni post che scrivi in risposta a qualcuno che chiede aiuto per la risoluzione di problemi sullo sviluppo di applicazioni che sono destinate, in alcuni casi, a scopi Hobbystici e, ad ogni modo, sarebbe l'utente stesso a chiedere più o meno spiegazioni in merito all'argomento trattato secondo le sue conoscenze e/o esperienze.

Con questo, per quanto mi riguarda, il thread è terminato.
Ciao

E rilassati.

Anonimo Profilo | Senior Member

Evidentemente ci siamo fraintesi. mi scuso con il povero Gianluca se il mio intervento ha creato confusione.

Jeremy Profilo | Guru

>Evidentemente ci siamo fraintesi. mi scuso con il povero Gianluca
>se il mio intervento ha creato confusione.
Assolutamente NO .... sono io che ho pensato che avrebbe potuto confonderlo .... il mio appunto, però, non voleva assolutamente screditare il tuo intervento del tutto legittimo, ma, semplicemente, esprimere un mio parere riguardo l'argomento parametri.

Ciao

LuxSkyWalker Profilo | Junior Member

Ciao...scusate il ritardo ma sono stato molto preso!
Nessuno si deve scusare perchè, anche se mi dispiace che abbiate "discusso", il vostro botta e risposta mi è stato utile...
Alla fine ho optato per la stringa, senza creare oggetti parameter...

Grazie ancora,
alla prossima!
LuxSkyWalker
Junior Developer .NET

Anonimo Profilo | Senior Member

Sono contento che ti siamo stati utili, ciao e buon proseguimento.

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5