Oppure

Loading
08/02/11 15:21
Ture_70
Buon giorno a tutti, sto da poco studiando il VB. net ed ho un problema:
Attraverso la mia applicazione popolo la tabella del database (senza problemi), il mio problema e la ricerca dei record. Mettiamo che io abbia una tabella del tipo:
| ID | NOME | COGNOME |
| 1 | A | B |
| 2 | A | C |

Se io, con un cormalissimo select... cerco tutti i record nel cui nome sia scritto "A" ottengo solo il 1° record. Io vorrei inserire nella mia applicazione 2 pulsanti (<;) e (>;) che mi facciano navigare tra i record trovati dalla mia queri (con il select).
In questo piccolo caso, quindi, cliccando sul pulsante (>;) dovrei arrivare al 2° record.
Non ho però la minima idea di come fare, avete qualche esempio? o me lo potete spiegare?
Ringrazio in anticipo:hail:
aaa
08/02/11 18:04
Thejuster
Per fare quello che intendi e necessario avere un contatore,
che ti ricorda l'id del record che stai utilizzando in seguito premendo
>> aumenterà l'id di seguito esegui una nuova query mediante il nuovo ID, viceversa per <<

puoi farlo in questo modo.

select * from [nome_tabella] WHERE id = '[contatore]';


Cmq ti consiglio un modo diverso per fare questo.
seppur funzionante il tuo metodo e molto lento, perché ad ogni spostamento (>>;)
esegui una nuova query, quindi devi attendere la query dal server e questo può impiegare diverso tempo a seconda dei sistemi.

un modo migliore sarebbe quello di crearti una struttura ed una lista per velocizzare il tutto sfruttando ugualmente il contatore, così esegui la query una sola vota e hai tutti i dati a portata di mano.

ti scrivo un esempio in C# perché non conosco molto bene il vb.net
puoi covertire il codice da C# a vb.net andando qui

developerfusion.com/tools/convert/csharp-to-vb/



//Struttra della Tabella

public struct Tabella {

public int ID;
public string Nome;
public string Congome;

}


//lista
public List<Tabella> tb = new List<Tabella>();


//-----
//ciclo che inserisci i dati della query nella lista,


rd = cmd.ExecuteReader();

while(rd.Read) {

Tabella t;
t.id = rd[0].ToString();
t.Nome = rd[1].ToString();
t.Congnome = rd[2].ToString();

tb.Add(t);

}



per spostarti tra i valori


//Contatore Pubblico;
public int Counter = 0;

//pusalte >>

void Next() {
Counter+=1;
MessageBox.Show(tb[Counter].ID + "\n" + tb[Counter].Nome + "\n" + tb[Counter].Cognome);

}


//pulsante <<
void Back() {
Counter-=1;
MessageBox.Show(tb[Counter].ID + "\n" + tb[Counter].Nome + "\n" + tb[Counter].Cognome);
}



una volta che la lista non ti servirà più potrai svutarla e liberarla dalle risorse.

mire.forumfree.it/ - Mire Engine
C# UI Designer
08/02/11 20:47
Ture_70
Innanzi tutto ti ringrazio per avermi risposto. Ora faccio alcune prove, sia con il contatore che con il contatore + tabella....ti faccio sapere, grazie ancora
aaa