Ricerca valore massimo

domenica 30 settembre 2007 - 11.02

gennyfor Profilo | Junior Member

Salve ragazzi,

Uso il vb 2005 con l'sql server 2005 e mi chiedevo come recuperare dei valore di un db filtrati dove l'ID ha il valore MAX....mi spiego

Ho una tabella di valori e non ho bisogno di recuperare il valore MAX di quella tabella, anzi, è un valore che nn mi interessa, ma il valore MAX deve essere una condizione di where, es:


SELECT Cliente,Dataordine,rif,marcare FROM dbo.scheda WHERE Cliente LIKE '%" & TextBox1.Text & "%' and dataordine BETWEEN '" & CDate(DateTime.Text) & "' and '" & CDate(DateTime2.Text) & "' and schedachiusa = 0 and Id = MAX ORDER BY Dataordine DESC

Ovviamente quell' ID = MAX l'ho inventato appena, ma è x far capire il genere di aiuto di cui ho bisogno

Grazie

alx_81 Profilo | Guru

>Salve ragazzi,
Ciao!
>
>Uso il vb 2005 con l'sql server 2005 e mi chiedevo come recuperare
>dei valore di un db filtrati dove l'ID ha il valore MAX....mi
>spiego
>Ho una tabella di valori e non ho bisogno di recuperare il valore
>MAX di quella tabella, anzi, è un valore che nn mi interessa,
>ma il valore MAX deve essere una condizione di where, es:
>
>
>SELECT Cliente,Dataordine,rif,marcare FROM dbo.scheda WHERE Cliente
>LIKE '%" & TextBox1.Text & "%' and dataordine BETWEEN '" & CDate(DateTime.Text)
>& "' and '" & CDate(DateTime2.Text) & "' and schedachiusa = 0
>and Id = MAX ORDER BY Dataordine DESC
>
>Ovviamente quell' ID = MAX l'ho inventato appena, ma è x far
>capire il genere di aiuto di cui ho bisogno
con se con quella query vuoi ottenere solo e sempre un record, dovresti risolvere il tuo problema così:

SELECT TOP 1 Cliente , Dataordine , rif , marcare FROM dbo.scheda WHERE Cliente LIKE '%" & TextBox1.Text & "%' AND dataordine BETWEEN '" & CDate(DateTime.Text) & "' AND '" & CDate(DateTime2.Text) & "' AND schedachiusa = 0 ORDER BY Id DESC
>

Mi permetto di aggiungerti il solito consiglio che do ogni qual volta vedo queste concatenazioni. Fai attenzione a creare i comandi sql così, potresti incappare in un problema di sql injection, ovvero un malintenzionato che concateni nel comando che vai a creare uno statement molto dannoso per l'intera applicazione..
Di conseguenza, consiglio sempre di utilizzare l'oggetto command con la collection dei parametri.
Leggi questo post di Sandro Bizioli per ulteriori informazioni.. Non sottovalutare mai questa cosa..
http://blogs.dotnethell.it/sandro/SQL-Injection__2111.aspx

>Grazie
di nulla!

Alx81 =)

http://blogs.dotnethell.it/suxstellino
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