Alex.n7 (Normal User)
Newbie
Messaggi: 1
Iscritto: 28/05/2007
|
Sto facendo un programma per Pocket PC 2003 utilizzando VB.NET 2005 ho qualche problema nel salvare dati su un DB.
Ho trovato un modo molto veloce per modificare/aggiungere dei dati di un datagrid
Ho creato un piccolissimo DB che si chiama NuovoDataset.xsd, in cui ho una tabella che si chiama RFID e due colonne chiamate:ID Scheda e Testo Scheda.
Tramite la procedura guidata ho aggiunto il mio db al progetto ed inserendo un datagrid nel form1 visualizzo le due colonne sopra citate.
Seguendo le istruzioni della guida in linea, ho selezionato il datagrid e cliccando sul triangolino in altro a destra, ho aperto una finestra di opzioni, dalla quale ho selezionato Genera Form dati.
Facendo ciò sono state create in automatico altre due form:
RFIDEditViewDialog.vb
RFIDSummaryViewDialog.vb
e nella form uno è stato aggiunto un pulsante nel mainmenù1 chiamato NEW.
Se mando in esecuzione il programma, nel datagrid della form1 visualizzo le colonne presenti, e cliccando sul tasto new si apre la form RFIDeditview in cui sono presenti due testbox con rispettivi label che indicano i campi da inserire, cioè il nuovo id scheda e il nuovo testo scheda. un volta inseriti i dati, chiudo la form e torno in quella principale, qui il datagrid è stato aggiornato con il nuovo record aggiunto. La stessa cosa capita se provo a visualizzare un campo esistente e modificarlo: funziona a perfezione!!
Se però chiudo l'applicazione e la rimando in esecuzione riecco il solito problema, i dati che avevo inserito/modificato non sono presenti.
Cercando sulla guida in linea e sfruttando qualche suggerimento, ho inserito allora altri due pulsanti nel mainmenù1, Salva e Esci. Ho inserito il codice che sembra giusto, ma i risultati non cambiano.
Questo è il codice del form1:
Codice sorgente - presumibilmente VB.NET |
Imports System Imports System.Data Imports System.Windows.Forms Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If NuovoDataSetUtil.DesignerUtil.IsRunTime Then 'TODO: eliminare questa riga di codice per rimuovere la proprietà AutoFill predefinita per 'NuovoDataSet.RFID'. Me.RFIDTableAdapter.Fill(Me.NuovoDataSet.RFID) End If End Sub Private Sub NewMenuItemMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewMenuItemMenuItem.Click RFIDBindingSource.AddNew() Dim rfidEditViewDialog As scrivi_su_db.RFIDEditViewDialog = scrivi_su_db.RFIDEditViewDialog.Instance(Me.RFIDBindingSource) rfidEditViewDialog.ShowDialog() End Sub Private Sub RFIDDataGrid_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RFIDDataGrid.Click Dim rfidSummaryViewDialog As scrivi_su_db.RFIDSummaryViewDialog = scrivi_su_db.RFIDSummaryViewDialog.Instance(Me.RFIDBindingSource) rfidSummaryViewDialog.ShowDialog() End Sub Private Sub Salva_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Salva.Click Me.RFIDBindingSource.EndEdit() Me.RFIDTableAdapter.Update(Me.NuovoDataSet.RFID) NuovoDataSet.AcceptChanges() End Sub Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click Close() End Sub End Class
|
Questo il codice della form RFIDEditViewDialog.vb
Codice sorgente - presumibilmente VB.NET |
Public Class RFIDEditViewDialog Private Sub RFIDEditViewDialog_Closing(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing Me.RFIDBindingSource.EndEdit() End Sub End Class
|
Questo il codice della form RFIDSummaryViewDialog.vb
Codice sorgente - presumibilmente VB.NET |
Public Class RFIDSummaryViewDialog Private Sub EditMenuItemMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditMenuItemMenuItem.Click Dim rfidEditViewDialog As scrivi_su_db.RFIDEditViewDialog = scrivi_su_db.RFIDEditViewDialog.Instance(Me.RFIDBindingSource) rfidEditViewDialog.ShowDialog() Me.Close() End Sub Private Sub RFIDSummaryViewDialog_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If (e.KeyCode = System.Windows.Forms.Keys.Up) Then Me.AutoScrollPosition = New System.Drawing.Point(0, ((0 - Me.AutoScrollPosition.Y) _ - 16)) e.Handled = True End If If (e.KeyCode = System.Windows.Forms.Keys.Down) Then Me.AutoScrollPosition = New System.Drawing.Point(0, ((0 - Me.AutoScrollPosition.Y) _ + 16)) e.Handled = True End If If (e.KeyCode = System.Windows.Forms.Keys.Up) Then 'Su 'Su End If If (e.KeyCode = System.Windows.Forms.Keys.Down) Then 'Giù 'Giù End If If (e.KeyCode = System.Windows.Forms.Keys.Left) Then 'Sinistra End If If (e.KeyCode = System.Windows.Forms.Keys.Right) Then 'Destra End If If (e.KeyCode = System.Windows.Forms.Keys.Enter) Then 'Invio End If End Sub End Class
|
Qualcuno di voi sa dirmi perchè i dati che immetto non rimangono scritti del DB??
Oppure c'è qualcosa che devo settare per far si che i dati vengano inseriti??
Devo magari impostare qualcosa sul dataset?
Se qualcuno può aiutarmi gli sarò riconoscente... l'importante è che mi spieghi il tutto come se stesse
spiegando qualcosa ad un demente (cosi mi sento in questa situazione)
Aspetto con ansia qualche vostra risposta Ultima modifica effettuata da Alex.n7 il 28/05/2007 alle 12:18 |