Aggiungere clausola WITH(NOLOCK) a query del report

martedì 08 luglio 2008 - 10.56

Ale78 Profilo | Newbie

Ciao a tutti, come indica il titolo, vorrei sapere come aggiungere, se possibile, la clausola WITH(NOLOCK) dopo il nome della tabella nella query del mio report (es. select * from ARTICOLI with(nolock)).
Utilizzo CR11 e come database SQL 2005.
In caso non si possa fare cmq scrivero' la query in una stored procedure e utilizzero' questa come datasource del report.

freeteo Profilo | Guru

ciao,
hai già provato a mettere la query in un comando?

564x393 83Kb

(quando fai addcommand, puoi scrivere la stringa che vuoi)

Il "comando" è proprio la stringa sql libera che puoi dare come sorgente dati al report, quindi dovresti riuscire a scrivere quello che vuoi, che sia ovviamente "sql syntax".

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

ale.orma Profilo | Junior Member

>ciao,
>hai già provato a mettere la query in un comando?
In questo modo pero' non è possibile porre dei filtri ai dati nella WHERE del comando, cosa che invece si può fare utilizzando una stored procedure e passando i parametri opportuni.
Credo che la stored procedure sia la soluzione da adottare se hai necessità di far filtrare dall'utente i dati presenti nel report, altrimenti va bene anche la soluzione suggerita da Freeteo.

Ale78 Profilo | Newbie

Grazie per le risposte, ho fatto il report utilizzando una stored procedure come datasource, infatti provando col comando sql anch'io non riuscivo a filtrare i dati in modo diverso da quello impostato nel comando stesso.
Ciao e grazie a tutti!

freeteo Profilo | Guru

>>ciao,
>>hai già provato a mettere la query in un comando?
>In questo modo pero' non è possibile porre dei filtri ai dati
>nella WHERE del comando, cosa che invece si può fare utilizzando
>una stored procedure e passando i parametri opportuni.
come no?
Ti basta scrivere i parametri nella query impostata nella finestra comando, con la "{?...}" e ti si presenteranno come parametri da passare al report perchè lui esegua la query sul db, intendo una sintassi di questo tipo:
select * from utenti where username={?nome}
dove "{?nome}" ti è venuto scritto da solo quando hai aggiunto un parametro, e hai fatto doppio click.
Nel report poi, lo vedi come "Parameter Field".


>Credo che la stored procedure sia la soluzione da adottare se
>hai necessità di far filtrare dall'utente i dati presenti nel
>report, altrimenti va bene anche la soluzione suggerita da Freeteo.
si la stored è sicuramente la cosa migliore per prestazioni e architettura, ma non è la sola!

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
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