+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 9 su 9

Postgres Lettura sequenziale

  1. #1
    ljt
    ljt non  in linea Scolaretto
    Salve,

    come da titolo vorrei poter effettuare una query che mi legga il database in modo sequenziale partendo da un valore dato.
    Ad esempio se il database contiene:

    1)   Pippo
    2)   Pluto
    3)   Paperino
    6)   Qui
    7)   Quo
    8)   Qua
    10) Zio Paperone
    15) Gastone
    22) Topolino
    31) Minni
    
    e l'utente sta visualizzando il codice 10 vorrei che alla pressione del tasto "AVANTI" presente nel programma la query mi leggesse il codice 15, poi il codice 22 etc etc.

    Se i codici fossero sequenziali (1,2,3,4,5,6 etct etc) non avrei avuto problemi ho gi una query che lo fa, ma in questo caso non lo sono.

    Esiste un comando (che al momento non sono riuscito a trovare) stile NEXT RECORD per leggere in modo sequenziale un record?

    Grazie a tutti

  2. #2
    L'avatar di Max.Riservo
    Max.Riservo non  in linea Scribacchino
    Order by ...

  3. #3
    ljt
    ljt non  in linea Scolaretto
    Quote Originariamente inviato da Max.Riservo Visualizza il messaggio
    Order by ...
    Ciao Max e grazie per la risposta,

    a meno che non abbia male compreso il tuo suggerimento l' istruzione order by non mi aiuta a risolvere il problema perch all'interno della query ci sono vari filtri da dover rispettare e comunque c' gi l'istruzione che mi hai suggerito.

    Potresti darmi ulteriori "indizi" cos da poter meglio capire?

    Grazie mille

  4. #4
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Quote Originariamente inviato da ljt Visualizza il messaggio
    Potresti darmi ulteriori "indizi" cos da poter meglio capire?
    Max ha perfettamente ragione, e non servono altri indizi.

    E' la query che deve elencare i record ordinandoli come servono a te.
    Poi, automaticamente, quando ci si posiziona su un record e si passa al successivo verr rispettato l'ordine indicato nella query.
    ℹ️ Leggi di pi su gibra ...

  5. #5
    ljt
    ljt non  in linea Scolaretto
    Grazie Gibra,

    sono pienamente d'accordo sua con te che con Max.Riservo, ma non capisco come fare per passare al record successivo.
    In pratica: ipotizzando che questa la query che uso per ordinare i record in ordine crescente in base al codice.

    
    select * from miatabella order by codice asc;
    
    Inserendola in un button di un progetto vb.net (2010) quando lo premo vorrei che mi proponesse il record successivo, invece viene proposto sempre il primo.
    La mia domanda :
    Come faccio a dirgli di visualizzarmi il secondo e poi il terzo e cosi via tutte le volte che premo il button?

    Grazie ancora per l'aiuto e scusatemi, evidentemente mi sono espresso male.

  6. #6
    Sgrubak non  in linea Scribacchino
    Quote Originariamente inviato da ljt Visualizza il messaggio
    Inserendola in un button di un progetto vb.net (2010)
    E allora cosa c'entra la sezione relativa agli "Altri database"? Il problema relativo al codice VB.NET, non alla query.
    Quote Originariamente inviato da ljt Visualizza il messaggio
    invece viene proposto sempre il primo.
    Come associ i valori ai controlli per il primo record, lo fai per il secondo e cos via...

  7. #7
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Quote Originariamente inviato da ljt Visualizza il messaggio
    ma non capisco come fare per passare al record successivo.
    Questo dipende dal linguaggio di programmazione utilizzato con cui ti interfacci al database, di cui non avevi mai fatto menzione.
    Solo ora hai indicato VB.NET quindi, in base all'oggetto che usi tu hai a disposizione i vari metodi.

    Insomma, se non spieghi e mostri il tuo codice di programmazione non possiamo indovinare cosa ti occorre.
    ℹ️ Leggi di pi su gibra ...

  8. #8
    ljt
    ljt non  in linea Scolaretto
    Nel button AVANTI ho messo una semplice query di lettura con due condizioni (and) riportata in basso.
    Quando viene premuto di nuovo il BUTTON avanti incremento di 1 il campo codice (che normalmente sequenziale) e metto nella WHERE della query questo valore.
    In questo modo al momento ho risolto ma quando viene trovato un codice inesistente devo visualizzare un messaggio che avvisa l'utente e di nuovo premere BUTTON avanti.
    Vorrei evitare proprio questo.
    Il codice (semplificato) che attualmente utilizzo il seguente:
    Prrivate Sub Avanti_Click
    ....
    contatore += 1
    
    sql = "select * from mia tabella "
    sql &= "where codice = '" & contatore & "' "
    sql &= "and campo1 = 10 "
    sql &= "and campo2 = 20;"
    
    ......
    
    end sub
    
    Grazie ancora per la vostra pazienza

  9. #9
    L'avatar di Max.Riservo
    Max.Riservo non  in linea Scribacchino
    Quote Originariamente inviato da ljt Visualizza il messaggio
    Nel button AVANTI ...
    Pura follia ... allo stato solido ! Ogni volta ricrei il recordset !

    Devi creare un recordset bastato sulla query (eventualmente con la clausola codice >= contatore se vuoi partire da una posizione specifica) e poi con il pulsante Avanti scorrere il recordset con qualcosa del tipo Rs.movenext

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Connessione SSH al database Postgres con VB.NET
    Da ljt nel forum Altri Database Server
    Risposte: 3
    Ultimo Post: 20-03-2020, 11:55
  2. lettura di un file sequenziale
    Da cris77 nel forum Visual Basic .Net
    Risposte: 15
    Ultimo Post: 20-04-2009, 06:34
  3. Collegamento al db postgres
    Da rikka78 nel forum Visual Basic .Net
    Risposte: 2
    Ultimo Post: 15-05-2006, 11:28
  4. Lettura Di Un File Sequenziale
    Da birbimirti nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 13-05-2006, 11:21
  5. [Migrazione]Postgres / MySQL
    Da GiulioCesare nel forum Altri Database Server
    Risposte: 1
    Ultimo Post: 01-04-2006, 15:10