Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao
Avrei bisogno di aiuto...
Ho creato un db in access e adesso devo fare un pannelo di amministrazione in vb.net.
Ho creato una form che nella load effettua una select di tutti i miei utenti con i relativi dati (nome, cognome, nick, password, e-mail....) e gli pone all'interno di una listbox.
Adesso avrei bisogno di un comando che in base alla riga selezionata nella mia listbox mi carica tutti i miei dati (dello stesso utente) in texbox diverse...
Non so da dove partire
Continuo a googleggiare ma non trovo niente
Qualcuno mi da una mano?
Grazie in anticipo
Allora io farei così:
-All'evento indexchange della listbox ci metto di caricare i dati da Listbox1.SelectdItem (sarebbe l'elemento selezionato)
-Il primo dato lo mette nella textbox1,il secondo nella textbox2,e cos' via...
Dimmi se hai risolto in questo modo
Non funziona Non trova la pagina
Comunque ho risolto come mi ha suggerito Totem
Ora ho un'altro probblema...
Sto utilizzando un datagrindview con sotto 2 bottoni con scritto cancella e modifica record.
Come ultima istruzione nel bottone modifica e cancella dovrei fare una refresh del datagridview ma ogni volta che ricarico i record, gli aggiunge al datagrid, mentre dovrebbe sostituirli.
Sto cercando un comando per poter pulire tutte le mie righe.
è molto che cerco ma google non mi aiuta
Comunque complimenti Totem per la bella guida
Hai fatto tutto da solo?
Davvero complimenti...
Grazie per il link
Comunque datagridview.rows.clear() non funziona
Quando faccio la refresh del datagrid mi copia gli stessi dati 3 volte....
o meglio la prima copia dei dati è la copia prima della modifica del database,
la seconda copia è uguale alla prima (non so da dove venga fuori),
la terza sono i dai aggiornati del database.
Comunque io non passo da dataset (anche perchè non so usarli), pongo direttamente da database dentro delle variabili che poi sistemo all'interno del datagrid.
E' sbagliato?
Vi posto il codice anche se è un po' lungo
Public Class Amministratore
Dim miodataset As New DataSet
Dim miodataadapter As New OleDb.OleDbDataAdapter
Dim oledbconnection1 = New OleDb.OleDbConnection
Dim item_nick, item_psw, item_nome, item_cognome, item_e_mail, item_stato_reg, item_rango As String
Private Sub Amministratore_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
caricamento()
End Sub
Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
indice = DataGridView1.CurrentCellAddress.Y
modifica()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oledbconnection1 = New OleDb.OleDbConnection
miodataadapter.SelectCommand = New OleDb.OleDbCommand
miodataadapter.SelectCommand.Connection = oledbconnection1
If TxtCognome.Text = "" Or TxtNome.Text = "" Or TxtNick.Text = "" Or TxtPassword.Text = "" Or TxtCognome.Text = "" Then
MsgBox("Impossibile modificare i dati dell'utente. Controllare di aver compilato tutti i campi correttamente.")
Else
Dim x1nick, x1password, x1cognome, x1nome, x1stattivazione, x1rango As String
x1nome = TxtNome.Text
x1cognome = TxtCognome.Text
x1nick = TxtNick.Text
x1password = TxtPassword.Text
x1rango = TxtRango.Text
x1stattivazione = Txtstatoreg.Text
miodataadapter.UpdateCommand = New OleDb.OleDbCommand
miodataadapter.UpdateCommand.Connection = oledbconnection1
oledbconnection1.ConnectionString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDBatabase L" & _
"ocking Mode=1;Data Source=""C:\Users\Lucas\Desktop\dbREGISTRAZIONE.mdb"";Mod" & _
"e=ReadWrite;Jet OLEDB:Engine Type=5;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB" & _
":System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Prope" & _
"rties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:Encrypt Database" & _
"=False;Jet OLEDB:Create System Database=False;Jet OLEDBon't Copy Locale on Com" & _
"pact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1"
oledbconnection1.Open()
miodataadapter.UpdateCommand.CommandText = "update TABREGISTRAZIONE set NICK = '" & x1nick & "', PSW = '" & x1password & "', NOME = '" & x1nome & "', COGNOME = '" & x1cognome & "', STATTIVAZIONE = '" & x1stattivazione & "', RANGO = '" & x1rango & "' where EMAIL = '" & e_mail & "'"
miodataadapter.UpdateCommand.ExecuteNonQuery()
oledbconnection1.Close()
MsgBox("I dati dell'utente sono stati modificati correttamente", MsgBoxStyle.MsgBoxSetForeground, "Avviso")
DataGridView1.Rows.Clear()
caricamento()
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If TxtCognome.Text = "" Or TxtNome.Text = "" Or TxtNick.Text = "" Or TxtPassword.Text = "" Or TxtCognome.Text = "" Then
MsgBox("Nessun utente selezionato")
Else
If MessageBox.Show("Vuoi davvero cancellare?", "Cancella", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
miodataadapter.DeleteCommand = New OleDb.OleDbCommand
miodataadapter.DeleteCommand.Connection = oledbconnection1
oledbconnection1.ConnectionString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDBatabase L" & _
"ocking Mode=1;Data Source=""C:\Users\Lucas\Desktop\dbREGISTRAZIONE.mdb"";Mod" & _
"e=ReadWrite;Jet OLEDB:Engine Type=5;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB" & _
":System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Prope" & _
"rties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:Encrypt Database" & _
"=False;Jet OLEDB:Create System Database=False;Jet OLEDBon't Copy Locale on Com" & _
"pact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1"
oledbconnection1.Open()
miodataadapter.DeleteCommand.CommandText = "DELETE FROM TABREGISTRAZIONE where EMAIL = '" & e_mail & "'"
miodataadapter.DeleteCommand.ExecuteNonQuery()
oledbconnection1.Close()
MsgBox("l'utente è stato cancellato", MsgBoxStyle.MsgBoxSetForeground, "Avviso")
End If
caricamento()
End If
End Sub
Private Sub modifica()
Dim item_nick, item_psw, item_nome, item_cognome, item_stato_reg, item_rango As String
Puoi usare anche questo modo, solo che viene molto confusionario...
Rows.Clear() potrebbe non funzionare nel caso la datagridview abbia un binding verso un dataset, ma poiché aggiungi i dati manualmente deve funzionare...