>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