Problema su selezioni dati

giovedì 21 ottobre 2010 - 10.39

mauri1961 Profilo | Senior Member

Ho una grid view che mostra dei dati selezionati in base all'utente che si connette (con codice e password). Nella grid view c'è la connection string che effettua correttamente la select con una where che confronta il codice dell'utente con quello presente nei singoli elementi della tabella da visualizzare.

Fin qui tutto ok.

Ora dovrei avere la possibilità di bypassare il codice utente e mostrare (per uso interno) TUTTI i dati presenti nella gridview. Come posso fare a suddividere la connection string e mettere in una la select con WHERE e nell'altra senza?

Grazie, Maurizio

samar Profilo | Senior Member

Io di solito eseguo il controllo dell'utente nel Page.Load e in base al "ruolo" associo un diverso SqlDataSource.SelectCommand dopodichè gli bindo la GridView. E' un sistema e ce ne possono essere altri, questo è uno di quelli che funziona ;)
Ciao

mauri1961 Profilo | Senior Member

Ti ringrazio, provo e Ti faccio sapere.

Ciao, Maurizio

alx_81 Profilo | Guru

Ciao,
>Ho una grid view che mostra dei dati selezionati in base all'utente
>che si connette (con codice e password). Nella grid view c'è
>la connection string che effettua correttamente la select con
>una where che confronta il codice dell'utente con quello presente
>nei singoli elementi della tabella da visualizzare.
> Fin qui tutto ok.
hai la select nella connection string? scusa non ti seguo.. La connection string dovrebbe servirti solo a connetterti (con anche altre opzioni).

>Ora dovrei avere la possibilità di bypassare il codice utente
>e mostrare (per uso interno) TUTTI i dati presenti nella gridview.
>Come posso fare a suddividere la connection string e mettere
>in una la select con WHERE e nell'altra senza?
se usi una gridview, puoi pensare di usare due SelectCommand, uno dei quali è filtrato e l'altro no..

>Grazie, Maurizio
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

mauri1961 Profilo | Senior Member

Scusa, mi sono espresso male....

Io ho una grid view collegata ad un sqldatasource. Nellaselect command i campi vengono visualizzati qualora soddisfino la condizione where dove il codice contenuto è uguale a quello dell'utente abilitato.
A me interessa entrare con un'utente che possa vedere tutto quanto (quindi non deve abilitare la where...).


Ora in base a quanto mi dici, se ho ben capito, è possibile inserire una seconda select command dove la where non c'è.

Ma se cosi è come faccio basta inserire una seconda select command ? E in base a questo come gestisco una o l'altra ?

Grazie, (come sempre..) Maurizio

alx_81 Profilo | Guru

>Io ho una grid view che contiene un sqldatsource dove nella connection
>string i campi vengono visualizzati qualora soddisfino la condizione
>where dove il codice contenuto è uguale a quello dell'utente
>abilitato.
ok, però non la chiamerei connectionstring, ma SelectCommand, in quanto nella proprietà ConnectionString del tuo datasource devi mettere invece il puntamento al server.

>Ora in base a quanto mi dici, se ho ben capito, è possibile inserire
>un secondo sqldatasource dove tale non c'è e mi mostra tutti
>i dati della tabella.
certo

>Ma se cosi è come faccio a gestire la decisione se abilitare
>uno o l'altro a seconda dell'utente abilitato ?
nel codebehind (vb o cs, dipende da cosa usi) dovrai capire se stai accedendo con un utente o meno.
Dipend, cosa usi per autenticare il tuo user?

>Grazie, (come sempre..) Maurizio
eheh.. ci sentiamo spesso

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

mauri1961 Profilo | Senior Member

io avrei provato un sistema che ti espongo (non sobbalzare...ma sto muovendo i primi passi)...

nella page_load definisco un campo in questo modo:

dim strsql as string
if dr1("con_studio").tostring = "99999" ...sarebbe il codice utente che può accedere a tutto
then
strsql = "select... e seguono i campi senza where"
else
strsql = "select... e seguono i campi con where"

nella sqldatasource
metto

selectcommand = "strsql"

ma qui mi sa che la sintassi non va perchè mi da avvisi strani

tipo : carattere '>' mancante nel tag di inizio dell'elemento sqldatasource

p.s. oggi non posso testarlo in quanto ci sono problemi sul database....

è comunque una soluzione fattibile? anche perchè non capisco come gestire due selectcommand in un sqldatasource

Ciao, Maurizio
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