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
Ricavare Numero Riga da un DataBlindingSource collegato ad una ComboBo...
martedì 08 luglio 2008 - 19.11
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
kopiro91
Profilo
| Newbie
13
messaggi | Data Invio:
mar 8 lug 2008 - 19:11
in poche parole, ho una combobox, associato ad una database con due colonne (user,pass), ora io vorrei che quando l'utente seleziona dalla combobox la scelta, un controllo mi ricavi il numero della riga nel database.
Grazie in anticipo.
Enne
Profilo
| Junior Member
59
messaggi | Data Invio:
mar 8 lug 2008 - 19:44
Ciao,
Scusami ma non ho capito molto bene quello che vuoi fare. Se gentilmente puoi spiegarti meglio..
"...quando l'utente seleziona dalla combobox la scelta.." quale scelta? e cosa precisamente vuoi ricavare dal database?
Rocco Verrastro
.NET Programmer - Web Developer
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
mar 8 lug 2008 - 20:04
Ciao
Sei sicuro di voler ottenere il numero di riga?
Oppure selezioni user e vuoi sapere la pass associata?
Nel secondo caso utilizza "ComboBox1.SelectedValue" e "ComboBox1.ValueMember"
Ciao.
Enne
Profilo
| Junior Member
59
messaggi | Data Invio:
mar 8 lug 2008 - 20:24
No alex, nel suo caso dovrebbe usare un SelectedItem o un SelectedIndex in un evento SelectedIndexChanged
Rocco Verrastro
.NET Programmer - Web Developer
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
mar 8 lug 2008 - 20:57
Ciao Enne
Non sono pienamente d'accordo con la tua soluzione:
1. Se usi "SelectedIndex" ti restituisce l'indice (in base zero) dell'elenco che hai caricato. E se hai filtrato i dati? Ad esempio solo gli User che hanno dei privilegi.
Non ti restituirebbe il numero della riga del DB
Ad ogni modo dovresti aggiungere 1 (base zero)
2. A me (VisualBasic 2005 Express) in caso di DB associato ad una Combo "SelectedItem" mi dà errore.
danielmaz
Profilo
| Newbie
21
messaggi | Data Invio:
mer 9 lug 2008 - 02:10
Alex la soluzione di Enne è giusta invece, restituendo l'index potrebbe facilmente ricavare i dati in base all'id della riga nella tabella. Con SelectedItem invece potrebbe ricercare nel database il valore selezionato nella combo e restituire esempio la pass.
sinceramente nn ci capisco molto di VB ma in C# SelectedItem x qsti scopi mi ha sempre funzionato divinamente, forse non sai farlo funzionare tu in VB
scherzo
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
mer 9 lug 2008 - 12:37
Ciao danielmaz,
Che io non sappia far funzionare VB non è un ipotesi essendo autodidatta, è possibile che qualche cosa mi sfugga, ed è anche per questo motivo che vengo sempre in questo form (oltre naturalmente a qlq buon libro).
Però se io ho:
ID | NAME | ADMIN
1 | PIPPO | True
2 | PLUTO | False
3 | TOPOLINO | True
4 | PAPERINO | False
5 | PAPERONE | True
Se carico i dati su una Combo filtrando solo gli ADMIN (WHERE ADMIN = TRUE)
Avrei
0 | PIPPO | True
1 | TOPOLINO | True
2 | PAPERONE | True
Giusto?
Quindi se seleziono dalla Combo TOPOLINO la "SelectedIndex" ti restituisce "1". Ma in realtà nella Tabella del DB TOPOLINO corrisponde al Record "3"
Invece con SelectItem se seleziono TOPOLINO mi verrà restituito TOPOLINO. A questo punto dovrei eseguire una nuova query per sapere la PASS associata. Giusto?
Da quanto ho appreso finora se un controllo ha associato un BindingSource con le proprietà ValueMember e SelectedValue riesco a recuperare immediatamente i dati.
http://msdn.microsoft.com/it-it/library/system.windows.forms.listcontrol.valuemember
(en-us,VS.85).aspx
Poi è possibile che non abbia capito la richiesta di kopiro91 ( ...mi ricavi il numero della riga nel database)
Ciao
kopiro91
Profilo
| Newbie
13
messaggi | Data Invio:
mer 9 lug 2008 - 13:51
allora scusate se rispondo tardi ma non sapevo che foste cosi tempestivi su questo forum XD
cmq io in parole semplici devo fare un form di login. con i dati associati alla mia tabella.
gli username sono visibili in quanto essendo combobox me li fa vedere, la password nascosta.
quindi io ho impostato il database cosi:
ID(primaryKey) - Username - Password
1 prova provapass
2 ciao ciaopass
quindi nella combobox mi fa vedere i dati della colonna Username.
quando l'utrente clicca su OK, deve controllare che la password associata sia la stessa scritta nella colonna 'Password', alla riga X (Ricavata dallo username)
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
mer 9 lug 2008 - 14:34
705_Login.zip
Io la vedo così (vedi allegato)
Ciao
kopiro91
Profilo
| Newbie
13
messaggi | Data Invio:
mer 9 lug 2008 - 14:49
ok ora vedo
visto.
scusa ma in questo modo mi restituisce il valore selezionato, ma della colonna user.
a me serve il valore della colonna passowrd!
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
mer 9 lug 2008 - 15:26
Il valore della colonna password te lo restituisce proprio il "ComboBox1.SelectedValue.ToString()"
Tantè che quando cambi il nome nella Combo nel Label1 (che dovrai cancellare) trovi la password che se noti è si = al nome_utente ma ha la lettera iniziale minuscola.
Prova a cambiare i valori nel DB della PSW
kopiro91
Profilo
| Newbie
13
messaggi | Data Invio:
mer 9 lug 2008 - 15:36
scusa ma io non ho installato SQL, quindi faccio con access i database e non riesco ad aprire il tuo database.
Ma combobox1 e associato alla colonna user giusto=?
quindi conme fai a restituire il valore di un'altra colonna?
EDIT:
ah scusa ho capito come fai! ho visto ora la combobox1... gia non ci avevo pensato..
DiplayMember-> User
SelectedValue.> Pass!
Geniale, Grazie!
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
mer 9 lug 2008 - 15:44
Esatto!
La caratteristica di SelectValue è proprio questa vedi la colonna 1 e memorizzo anche il valore della colonna 2.
Non ho provato con un DB Acces ma non credo vi siano problemi.
Ti rimando a questo articolo per approfondimenti:
http://msdn.microsoft.com/it-it/library/system.windows.forms.listcontrol.valuemember.aspx
Ciao
un'altra cosina
Se si tratta di un applicativo "base" credo che come protezione vada bene; se invece hai bisogno di maggior sicurezza cerca qls di più complesso magari che prenda in considerazione la crittografia della psw.
kopiro91
Profilo
| Newbie
13
messaggi | Data Invio:
mer 9 lug 2008 - 16:04
è un applicativo che registra il tempo di un utente in una postazione internet (in un negozio)..
ma siccome vengono parecchie persone gli do anche la possibilità di registrarsi.
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 !