Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
E possibile usare le query parameter in questo modo??.....
martedì 06 giugno 2006 - 10.24
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mar 6 giu 2006 - 10:24
ecco la query:
select @a from miatabella
command.parameters.add("@a", textbox.text)
inserisco nel textbox: cognome
dove la colonna e' il parametro, lo chiedo perche mi da un errore del tipo:
'System.Data.Common.DbDataRecord' does not contain a property with the name "cognome"
ci sono altri modi??
saluti ENzo
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
mar 6 giu 2006 - 15:53
perche la query e sbagliata ...dovrebbe essere tipo
select * from tabella where campo=@parametro
C'è solo un capitano !!!!!!
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mar 6 giu 2006 - 16:41
no la query e' esatta solo che il parametro di ingresso voglio che sia la colonna!!
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
mer 7 giu 2006 - 08:37
>'System.Data.Common.DbDataRecord' does not contain a property
>with the name "cognome"
>
>ci sono altri modi??
Non puoi usare i parametri in questo modo o meglio utilizzandoli così non ottieni quello che vorresti tu.
Nell'esempio che hai riportato il valore del textbox ("cognome") viene inserito nella query come una costante,
come se tu avessi costruito il seguente commandtext
select 'cognome' from tabella
il datareader restituito dall'esecuzione del command conterrà così una colonna in cui tutti i valori sono
la costante 'cognome'.
L'errore che ti viene restituito dipende dal fatto che il datareader, in base a come viene interpretata
la query [select 'cognome' from tabella] non contiene in effetti nessuna colonna che si chiama
cognome.
Per raggiungere il tuo scopo dovrai quindi costruire in modo programmatico il commandtext del comando:
dim cmd as SqlCommand
cmd.CommandText = "select " + textbox.text + " from tabella where col1 = @p1 and col2 = @p2"
cmd.parapeters.add("@p1",............)
ecc.
Ciao, Michele
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
ven 9 giu 2006 - 12:51
si ma in questo modo non posso avere la stessa cosa in termini si sicurezza e controllo che mi danno le @p1 etc_?
Torna su
Stanze Forum
Elenco Threads
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 !