PDA

View Full Version : Come si inserisce il predicato "LIMIT 0,5" su data


race2
29-04-2002, 13:41
Ho un database Access , come posso inserire il predicato "LIMIT 0,5" nella clausura "SELECT" ???
Mi da errore ogni volta che lo eseguo!!!

cionci
29-04-2002, 20:53
A che serve Lmit 0,5 ?

race2
30-04-2002, 01:11
Limit 2,5 vuol dire:

inizia a selezionare dalla riga 2 e finisci alla ricga 5:

es:

[VB.NET]

Dim conn As New SqlConnection(" Stringa di connessione per MySql ")

conn.Open()

Dim comm As New SqlCommand("SELECT * FROM tabella WHERE id Limit 2,5 ", conn)

Dim reader As SqlDataReader = comm.ExecuteReader()

While read.read()

MessageBox.Show(read.GetString(1))

End While

conn.Close()

in questo modo ti restituisce 3 MessageBox() con i valori che partono dall'id 2 e arrivano all'id 5, FUNZIONA SOLO CON "MySql"...!!!

alexmaz
30-04-2002, 02:17
SELECT * FROM tabella WHERE id >= 2 and id <= 5


ciao

cionci
30-04-2002, 19:22
SELECT * FROM tabella WHERE id between 2 and 5

race2
24-06-2002, 15:52
Sono di nuovo nei guai con una ricerca per data su Database Access con VB.NET

Dim sql As String = "SELECT * FROM Movimenti WHERE Data BETWEEN " & Data_Da & " AND " & Data_A & ""

cosa sbaglio ???

non mi trova nulla......

e in piu' alla query qui sopra vorrei aggiungere un ulteriore filtro per Id.........

Dim sql As String = "SELECT * FROM Movimenti WHERE Data BETWEEN " & Data_Da & " AND " & Data_A & " AND ID = " & Id & ""

e' sbagliato, dato che non funziona.........

cionci
24-06-2002, 18:42
Che tipo è Data ? Che DB usi ?

race2
24-06-2002, 19:00
Il DB e Access
Il campo e' Date
il formato e' gg/mm/aaaa

la tabella e' stata creata da codice:

Dim sql4 As String = "CREATE TABLE Movimenti (" & _
"Id counter PRIMARY KEY," & _
"Id_Agente integer," & _
"Id_Articolo integer," & _
"Data date," & _
"Quantita integer)"

perche con MySql o SQL Server non da mai problemi.......???

race2
24-06-2002, 19:00
Mica hai un minuto per questo ???

http://forum.hwupgrade.it/showthread.php?threadid=276125

cionci
24-06-2002, 19:13
Originariamente inviato da race2
[B]Mica hai un minuto per questo ???

http://forum.hwupgrade.it/showthread.php?threadid=276125
Su quello non posso aiutarti...io non programmo in VB...

Prova con una query del genere :

Dim sql As String = "SELECT * FROM Movimenti WHERE Data BETWEEN DateValue('" & Data_Da & "') AND DateValue('" & Data_A & "')"

Attenzione che il formato del campo Data non serve a niente...è solo una specifica di visualizzazione...

DateValue dovrebbe convertire la data DD/MM/YYYY che gli passi in DD/MM/YYYY 00:00:00...quindi per cercare tutti i dati presenti in un dato giorno devi cercare quelli compresi il DateValue del giorno desiderato e il giorno +1...

Ad esempio devi se vuoi tutti i dati di oggi devi usare una query di questo tipo :

SELECT * FROM Tabella WHERE Data >= DateValue('24/06/2002') AND Data < DateValue('25/06/2002')

Stai attento ai 30 e 31 del mese ed al 31 dicembre...probabilmente c'è qualche methodo per aggiungere tot giorni ad un oggetto di tipo Date in VB...

race2
24-06-2002, 19:33
Ho gia risolto in questo modo:

Dim sql As String = "SELECT * FROM Movimenti WHERE Data BETWEEN #" & DataDa & "# AND #" & DataA & "# AND Id_Articolo = " & Id_ & ""

ti ringrazio......

buttarelli
08-07-2002, 08:34
Occhio che Access è bastardo con le date!
Controlla attentamente se i risultati della tua query sono corretti. Io ho dovuto utilizzare, nelle query SQL, le date in formato MM/GG/AAAA, altrimenti non mi trovava niente.