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 2.0 / 3.5 / 4.0
Dichiarare da codice una variabile scalare: come?
domenica 03 dicembre 2006 - 20.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Giovanni_3478
Profilo
| Senior Member
293
messaggi | Data Invio:
dom 3 dic 2006 - 20:32
Salve
Ho scritto questo codice nel codebehind
Dim cnn As New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Giannicola\codeName_Mantle\App_Data\ASPNETDB.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim cmd2 As New SqlClient.SqlDataAdapter("SELECT link_ita FROM software_traduzioni WHERE (categoria = N'parti del software') AND (categorie_parent = @software)", cnn)
Dim ds As New DataSet()
cmd2.Fill(ds, "parti_software")
per creare una connessione , creare un dataset, e riempire il dataset con l'SqlDataAdapter.
Ora: nella select dell'SqlDataAdapter ho inserito un riferimento ad una variabile scalare:
voglio che la select individuasse quei record
dove il campo categorie_parent sia uguale ad un valore della querystring.
Quale sintassi bisogna usare per dichiarare da codice una variabile scalare?
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
dom 3 dic 2006 - 21:56
Dai un'occhiata all'utilizzio dei parametri ,oppure puoi concatenare le variabili nella query sql.
C'è solo un capitano !!!!!!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
dom 3 dic 2006 - 23:08
>Salve
Ciao!
>
>Ho scritto questo codice nel codebehind
>
>Dim cnn As New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Giannicola\codeName_Mantle\App_Data\ASPNETDB.MDF;Integrated
>Security=True;Connect Timeout=30;User Instance=True")
>
>Dim cmd2 As New SqlClient.SqlDataAdapter("SELECT link_ita FROM
>software_traduzioni WHERE (categoria = N'parti del software')
>AND (categorie_parent = @software)", cnn)
>
> Dim ds As New DataSet()
>
> cmd2.Fill(ds, "parti_software")
>
>per creare una connessione , creare un dataset, e riempire il
>dataset con l'SqlDataAdapter.
>
>Ora: nella select dell'SqlDataAdapter ho inserito un riferimento
>ad una variabile scalare:
>voglio che la select individuasse quei record
>dove il campo categorie_parent sia uguale ad un valore della
>querystring.
>
>Quale sintassi bisogna usare per dichiarare da codice una variabile
>scalare?
>
Dunque..
per ottenere il valore del querystring fai così:
Dim software as int32
software = Request.Querystring("quellochetiserve")
una volta che hai la variabile, devi aggiungere al tuo codice la creazione dei parametri per il comando..
Quindi, devi usare l'oggetto command e definire dei parametri popolando la collection parameters..
>Oppure puoi concatenare le variabili nella query sql.
Attenzione a questa affermazione..
guardate questo link:
http://msdn2.microsoft.com/en-us/library/hdb58b2f.aspx
Alx81 =)
http://blogs.dotnethell.it/suxstellino
Giovanni_3478
Profilo
| Senior Member
293
messaggi | Data Invio:
dom 3 dic 2006 - 23:30
La concatenazione l'avevo già provata con esito negativo
Ho provato a cercare con il tuo input sulla msdn
Credo di aver risolto:
Dim parti_software As String = Request.QueryString("software")
Dim parSoftware As New SqlClient.SqlParameter("@software", SqlDbType.VarChar, 80)
cmd3.SelectCommand.Parameters.Add(parSoftware).Value = software
Grazie mille
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
dom 3 dic 2006 - 23:48
>La concatenazione l'avevo già provata con esito negativo
Anche se ti avesse dato esito positivo, credimi, è meglio evitarla..
inoltre, visto che usi SQL Server, ti consiglio vivamente di utilizzare Stored Procedure piuttosto che somandi hardcoded..
i vantaggi sono vari, e, oltre all'incremento delle prestazioni (le sp hanno il piano d'esecuzione già pronto e sono già compilate sul db), hai anche un grande aumento del livello di sicurezza delle tue applicazioni, evitando così i malintenzionati che cercano di fare sql injection nelle..
>
>Ho provato a cercare con il tuo input sulla msdn
>
>Credo di aver risolto:
>Dim parti_software As String = Request.QueryString("software")
>Dim parSoftware As New SqlClient.SqlParameter("@software", SqlDbType.VarChar,
>80)
>cmd3.SelectCommand.Parameters.Add(parSoftware).Value = software
>
ok.. ottimo, accetta la risposta con l'apposito link, così chiudiamo il Thread.. ciao!
>
>Grazie mille
Di nulla..
Alx81 =)
http://blogs.dotnethell.it/suxstellino
Giovanni_3478
Profilo
| Senior Member
293
messaggi | Data Invio:
lun 4 dic 2006 - 13:27
Allora...
grazie sia a Totti240282 che a Alx_81
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 !