Datareader textbox

lunedì 23 gennaio 2006 - 09.17

valerik Profilo | Junior Member

Buongiorno a tutti,
ecco il mio problema

ho una tabella di un database, formata da 5 righe.
ho 5 textbox: devo associare ogni valore della riga di una determinata colonna ad ogni textbox.
Usando il datareader e ponendo
Txtbox.Text = drdDatiUtenti("SpedizioneCitta").ToString ottengo la prima riga.
Come faccio a scorrere le varie righe?
Vi prego, se potete, di postarmi un po' di codice, è urgente.
Grazie ancora.ùCiao

Ciciu Profilo | Senior Member

Ciao.

Ti basta un loop :

while dr.read()
{
// Sei posizionato su un nuovo record...
}

Ogni volta che viene eseguito il metodo READ del datareader, lo stesso si posiziona su un nuovo record, mettendolo a disposizione nell'oggetto datareader.

Ciao - Fabio

Fabio G

Cteniza Profilo | Guru

E' forse meglio però utilizzare peek che dice se ci sono dei caratteri da leggere.
while (sr.Peek() != -1)
{
string myRow = sr.ReadLine();
}

Cteniza Profilo | Guru

Chiedo scusa, avevo letto StreamReader (sono andato a letto troppo tardi ieri sera).
Fate come non avessi detto niente.


valerik Profilo | Junior Member

Si, ma se ho una select che mi visualizza 5 righe come faccio

while dr.read()
{
text1box(devo visualizzare riga 1
tetx2box(devo visualizzare riga 2
....
}
Cosi ad ogni ciclo mi sovrascrive

Ciao
grazie

valerik

Cteniza Profilo | Guru

Non puoi scrivere direttamente sulle textbox
Il datareader è foreward only, per cui non puoi tornare indietro.
Tra l'altro il datareader è un oggetto che va chiuso il prima possibile.
Se vuoi leggere dei dati che poi vuoi scorrere e vedere su textbox dovresti usare un dataset / dataadapter (non datareader) ed il binding


valerik Profilo | Junior Member

Scusami puoi postarmi come fare
il databinding.

valerik

Cteniza Profilo | Guru

Ti conviene prendere i 101 esempi di c# per vedere come si fa a fare il binding.
Oppure ... prova ad utilizzare il wizard, prima aggiungendo alla form un dataadapter, poi generando da questo un dataset ed infine andando ad impostare il datasource sui textbox.
Esiste anche un wizard che ti genera una nuova form di accesso ai dati che già popola la form con tutte le textbox che ti servono (falla almeno per guardare come si fa).


Ciciu Profilo | Senior Member

Ciao Valerik.

Secondo me potresTi fare una cosa di questo genere :


string txtName;
int c = 0;

while (dr.Read())
{
c++;
txtName = "txtBox" + c;
this.controls[txtName].Text = dr.GetString(0);
}



Fabio G

Ciciu Profilo | Senior Member

Scusa la fretta della risposta, ma seguo questo forum "in parallelo" al mio lavoro...

this.controls è la collection di tutti i controllo attaccati alla form...

this.controls[stringa].text ti permette di assegnare un valore al textbox specificato....

Ovviamente devi controllare che :

1) stringa sia un nome di oggetto esistente
2) il controllo cui Ti riferisci deve essere un TextBox (o, almeno, deve avere la proprietà TEXT)...

Ciao - Fabio

Fabio G
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