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
Problema Refresh Dati
martedì 08 maggio 2007 - 13.27
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
cloud85it
Profilo
| Newbie
23
messaggi | Data Invio:
mar 8 mag 2007 - 13:27
Ciao ,
sto cercando di creare un apllicazione su vb.net , ora ho un problema :
nella mia applicazione ho una form nella quale faccio l'inserimento di dati in un db access che funziona perfettamente , e nella stessa form ho un DataGridView che visualizza i dati di questo database , il problema è che anche se faccio un refresh del DataGridView non vengono visualizzati i dati che ho inserito nell'ultima sessione , per vederli nel DataGridView devo chiudere e riaprire l'applicazione.
Volevo sapere se c'è un modo per "refreshare" e quindi poter rivedere subito i dati.
Grazie in anticipo a chi mi risponderà.
Ciao
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mar 8 mag 2007 - 14:59
Quello che segnali è un caso classico che capita a chi fa gli aggiornamenti nel database tramite comandi sql dati in modo diretto (con oledbcommand) e ha anche una datatable / dataset locali che sono la fonte dati del datagridview.
In questo caso gli aggiornamenti fatti nel database non si riflettono sui dati locali e diventa come se fosse stato un'altro utente ad inserire i dati.
Per "riavere" ci sono due possibilità:
- rileggere e rigenerare il dataset / datatable (fill del dataadapter)
- gestire i dati dal datagridview o dal datatable e poi dare il comando update del dataadapter
cloud85it
Profilo
| Newbie
23
messaggi | Data Invio:
mar 8 mag 2007 - 15:49
Grazie , ho provato in tutti i modi , cmq scusa se approfitto della tua gentilezza , ma senza usare comandi sql diretti (oledbcommand) come potrei fare?
Grazie mille per l'aiuto.
Ciao.
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mar 8 mag 2007 - 16:36
Utilizzi i metodi del datatable / datagridview per aggiornare i dati
zami
Profilo
| Junior Member
56
messaggi | Data Invio:
mer 16 mag 2007 - 15:22
Ciao,
Scusate se mi inserisco nella discussione, ho una situazione simile.
ho:
Un data table, caricato all'inizio, che contiene una struttura tipo "codice, oggetto, data, nominativo"
Una textbox a cui tramite data binding è stato assegnato "oggetto"
Un Datagridview a cui tramite databinding sono stati assegnati "codice" e "oggetto"
Le azioni sono queste
1) al load sto sulla riga 0 del datagridview: "oggetto" vale "primo" sia nella textbox che nel DGV
2) cambio il testo nella textbox, e di conseguenza nel datatable, assegnando a "oggetto" il valore "secondo"
3) clicco su una riga diversa del DGV
4) Al rowchanged del DataTable eseguo un AcceptChanges sul datatable e una update tramite comando SQL e ExecuteReader
5) risultato: nel DB, nel Datatable e nella Textbox "oggetto" vale "secondo", mentre nel DGV vedo ancora "primo"
Suggerimenti??
non posso eseguire l'update in modo diverso, questo è uno standard del progetto
Grazie mille ciao
Michela
"in questo mondo, noi non siamo i passeggeri... siamo l'equipaggio"
dibs79
Profilo
| Newbie
4
messaggi | Data Invio:
mer 2 lug 2008 - 21:00
Non riesco a refreshare il mio datagridview(Result_Ricerca) all'interno di un Controllo Utente ad ogni ricerca eseguita con un tasto.
In NESSUN forum su internet nessuno è ancora riuscito a dirmi dove sbaglio.
Io sono sicuro che l'associazione con il database è corretta perché clickkando su una riga mi si apre un form con gli stessi dati e anche se il datagridview non refresha i risultati sono quelli della query appena effettuata.
Ho provato con refresh, update del datagridview del Parent etc... ma NIENTE!
Dove sbaglio????
Considerando il testo che segue come la routine di evento di un tasto che aggiorna ed esegue la query v.cmd.CommandText
v.ds.Tables.Clear();
v.ds.Clear();
MySqlDataAdapter da = new MySqlDataAdapter(v.cmd.CommandText, v.conn);
da.Fill(v.ds, "TAB_SOFTWARE");
this.Result_Ricerca.AllowUserToAddRows = false;
this.Result_Ricerca.AutoGenerateColumns = true;
this.Result_Ricerca.DataSource = v.ds;
this.Result_Ricerca.DataMember = "TAB_SOFTWARE";
this.Result_Ricerca.Columns[0].HeaderText = "CODICE SOFTWARE";
this.Result_Ricerca.Columns[1].HeaderText = "TIPOLOGIA";
this.Result_Ricerca.Columns[2].HeaderText = "DATA DI CREAZIONE";
this.Result_Ricerca.Columns[3].HeaderText = "AUTORE";
this.Result_Ricerca.Columns[4].HeaderText = "DERIVA DA";
this.Result_Ricerca.Columns[5].HeaderText = "DESCRIZIONE";
da = null;
v.ds = null;
this.Result_Ricerca.Refresh();
this.Result_Ricerca.Update();
DomA
Profilo
| Expert
537
messaggi | Data Invio:
dom 6 lug 2008 - 22:30
ti posto il codice che utilizzato per visualizzare i dati della tabella clienti in una datagridview:
'LA RUOTINE PROVVEDE A CARICARE I DATI NELLA GRIGLIA
'INFINE CHIUDE LA CONNESSI0NE
Dim strConnessione As String = "Data Source=" & NomePerc & "Provider = Microsoft.Jet.OLEDB.4.0;C:\...\dbRCF.mdb"
Dim Conn As OleDb.OleDbConnection
Conn = New OleDb.OleDbConnection(strConnessione)
Dim cmdClienti_b As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("SELECT ° FROM Clienti ORDER BY Denominazione", strConnessione)
Dim DSC As DataSet = New DataSet
cmdClienti_b.Fill(DSC, "Clienti")
Dim dvClienti As DataView = DSC.Tables("Clienti").DefaultView
With Me.DataGridView1
.DataSource = dvClienti
End With
dvClienti = Nothing
DSC = Nothing
Conn = Nothing
p.s. io utilizzo un db access
Buon Lavoro
Domenico Mancina
dibs79
Profilo
| Newbie
4
messaggi | Data Invio:
dom 6 lug 2008 - 22:53
Grazie mille!
Sono riuscito a risolvere il problema con questa riga:
if(v.ds.Tables.Count>0) v.ds.Tables[0].Clear();
Quando faccio la ricerca utilizzo solo la tabella 0 del dataset e poi voglio eliminarla.
Ho notato che se facessi più query, poi mi caricherebbe la tabella 1 poi 2 etc...
Inserendo questa riga credo che sia simile al tuo codice in cui la tabella la dichiari localmente.
Grazie ancora
DomA
Profilo
| Expert
537
messaggi | Data Invio:
lun 7 lug 2008 - 22:19
un consiglio se qualcuno ti ha aiutato nel risolvere il tuo problema allora dovresti accettare la sua risposta. è solo un modo di ringraziare.
p.s. io no uso il c#
Domenico Mancina
dibs79
Profilo
| Newbie
4
messaggi | Data Invio:
lun 7 lug 2008 - 23:41
chiedo scusa.
non volevo offendere nessuno.
Non è un problema di linguaggio, credo sia comprensibile l'uno come l'altro anche se preferisco c#.
volevo solo dire che in questi giorni ero riuscito a risolvere il problema e al di là del codice credo di avere utilizzato lo stesso mezzo tuo, ovvero riaggiornare le tabelle del dataset..
Se non ti ho ringraziato abbastanza mi scuso ancora.
DomA
Profilo
| Expert
537
messaggi | Data Invio:
ven 11 lug 2008 - 16:31
o.k.
alla prossima.
ciao
Domenico Mancina
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 !