Query Sql e Gridview

lunedì 10 agosto 2009 - 23.33

walkimi Profilo | Newbie

cliccando su un hyperlink nella pagina default.aspx definito dalla stringa
<asp:hyperlinkfield headertext="Ditta" SortExpression="Ditta" datatextfield="Ditta" datanavigateurlformatstring="report_pagamenti.aspx ?Ditta1={0}" datanavigateurlfields="Ditta" />

in una tabella mi manda alla pagina

http://localhost/MyWeb/report_pagamenti.aspx?Ditta1=Spin (ad esempio)
ora nella pagina report_pagamenti.aspx voglio inserire una query che ad un certo punto utilizzi la variabile (magari sto usando un termine non corretto) Ditta1 che abbia il valore "Spin".

premetto che nella pagina di origine non ho definito in alcun modo Ditta1, l'ho indicato semplicemente nei parametri, non so se questo può essere un problema.

ho provato ora se nella pagina di destinazione inserisco il codice

<%@Page Language="C#" Debug="true"%> <script runat="server"> void Page_Load(Object sender, EventArgs e) { if (Request.QueryString["Ditta1"] != null) { String id1 = Request.QueryString["Ditta1"]; Response.Write("La categoria corrente è " + Ditta1 ); dim passaggio; } } </script>

che ho trovato in giro per il web in effetti mi restituisce il valore corretto di Ditta1 (nel caso "Spin").
se però vado a scrivere nella query Ditta1 cercando di cambiare apici in tutti i mdi, mi da errore.
allora o sbaglio la sintassi di indicare Ditta1 nella query, o devo definire in qualche modo il suo valore nella nuova pagina.
di seguito il codice della seconda pagina, che funziona ma mi restituisce sempre i dati filtrati per il valore WATG, che è quello che dovrebbe essere il valore di Ditta1 variabile.....

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

Gluck74 Profilo | Guru

Scusami, ma la query nella seconda pagina è:
SELECT ... ... FROM Contratti INNER JOIN Fatture ON Contratti.Numero = Fatture.Numero WHERE (((Contratti.Ditta)='WATG'))

Per forza vedi sempre gli stessi dati. Dovresti cambiare la query mettendo:
WHERE (((Contratti.Ditta)=?))

ed aggiungere all'AccessDatasource il parametro:
<SelectParameters> <asp:QueryStringParameter DefaultValue="WATG" Name="Ditta" QueryStringField="Ditta1" Type="String" /> </SelectParameters>
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