Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Datareader textbox
lunedì 23 gennaio 2006 - 09.17
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
valerik
Profilo
| Junior Member
153
messaggi | Data Invio:
lun 23 gen 2006 - 09:17
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
233
messaggi | Data Invio:
lun 23 gen 2006 - 09:31
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
1.509
messaggi | Data Invio:
lun 23 gen 2006 - 09:39
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
1.509
messaggi | Data Invio:
lun 23 gen 2006 - 09:40
Chiedo scusa, avevo letto StreamReader (sono andato a letto troppo tardi ieri sera).
Fate come non avessi detto niente.
valerik
Profilo
| Junior Member
153
messaggi | Data Invio:
lun 23 gen 2006 - 09:43
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
1.509
messaggi | Data Invio:
lun 23 gen 2006 - 09:47
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
153
messaggi | Data Invio:
lun 23 gen 2006 - 09:54
Scusami puoi postarmi come fare
il databinding.
valerik
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
lun 23 gen 2006 - 09:58
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
233
messaggi | Data Invio:
lun 23 gen 2006 - 10:22
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
233
messaggi | Data Invio:
lun 23 gen 2006 - 10:27
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
Torna su
Stanze Forum
Elenco Threads
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 !