Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Connessione a DB con VB.NET 2005 e Pocket PC 2003
Forum - C# / VB.NET - Connessione a DB con VB.NET 2005 e Pocket PC 2003

Avatar
Alex.n7 (Normal User)
Newbie


Messaggi: 1
Iscritto: 28/05/2007

Segnala al moderatore
Postato alle 12:15
Lunedì, 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

  1. Imports System
  2. Imports System.Data
  3. Imports System.Windows.Forms
  4.  
  5.  
  6.  
  7. Public Class Form1
  8.  
  9.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  10.         If NuovoDataSetUtil.DesignerUtil.IsRunTime Then
  11.             'TODO: eliminare questa riga di codice per rimuovere la proprietà AutoFill predefinita per 'NuovoDataSet.RFID'.
  12.             Me.RFIDTableAdapter.Fill(Me.NuovoDataSet.RFID)
  13.         End If
  14.  
  15.     End Sub
  16.  
  17.  
  18.     Private Sub NewMenuItemMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewMenuItemMenuItem.Click
  19.         RFIDBindingSource.AddNew()
  20.         Dim rfidEditViewDialog As scrivi_su_db.RFIDEditViewDialog = scrivi_su_db.RFIDEditViewDialog.Instance(Me.RFIDBindingSource)
  21.         rfidEditViewDialog.ShowDialog()
  22.  
  23.     End Sub
  24.  
  25.     Private Sub RFIDDataGrid_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RFIDDataGrid.Click
  26.         Dim rfidSummaryViewDialog As scrivi_su_db.RFIDSummaryViewDialog = scrivi_su_db.RFIDSummaryViewDialog.Instance(Me.RFIDBindingSource)
  27.         rfidSummaryViewDialog.ShowDialog()
  28.  
  29.     End Sub
  30.  
  31.     Private Sub Salva_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Salva.Click
  32.         Me.RFIDBindingSource.EndEdit()
  33.         Me.RFIDTableAdapter.Update(Me.NuovoDataSet.RFID)
  34.         NuovoDataSet.AcceptChanges()
  35.     End Sub
  36.  
  37.     Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
  38.         Close()
  39.     End Sub
  40. End Class



Questo il codice della form RFIDEditViewDialog.vb

Codice sorgente - presumibilmente VB.NET

  1. Public Class RFIDEditViewDialog
  2.  
  3.     Private Sub RFIDEditViewDialog_Closing(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
  4.         Me.RFIDBindingSource.EndEdit()
  5.  
  6.     End Sub
  7. End Class



Questo il codice della form RFIDSummaryViewDialog.vb

Codice sorgente - presumibilmente VB.NET

  1. Public Class RFIDSummaryViewDialog
  2.  
  3.  Private Sub EditMenuItemMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditMenuItemMenuItem.Click
  4.         Dim rfidEditViewDialog As scrivi_su_db.RFIDEditViewDialog = scrivi_su_db.RFIDEditViewDialog.Instance(Me.RFIDBindingSource)
  5.         rfidEditViewDialog.ShowDialog()
  6.         Me.Close()
  7.  
  8.     End Sub
  9.  
  10.     Private Sub RFIDSummaryViewDialog_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
  11.         If (e.KeyCode = System.Windows.Forms.Keys.Up) Then
  12.             Me.AutoScrollPosition = New System.Drawing.Point(0, ((0 - Me.AutoScrollPosition.Y) _
  13.                             - 16))
  14.             e.Handled = True
  15.         End If
  16.         If (e.KeyCode = System.Windows.Forms.Keys.Down) Then
  17.             Me.AutoScrollPosition = New System.Drawing.Point(0, ((0 - Me.AutoScrollPosition.Y) _
  18.                             + 16))
  19.             e.Handled = True
  20.         End If
  21.         If (e.KeyCode = System.Windows.Forms.Keys.Up) Then
  22.             'Su
  23.             'Su
  24.         End If
  25.         If (e.KeyCode = System.Windows.Forms.Keys.Down) Then
  26.             'Giù
  27.             'Giù
  28.         End If
  29.         If (e.KeyCode = System.Windows.Forms.Keys.Left) Then
  30.             'Sinistra
  31.         End If
  32.         If (e.KeyCode = System.Windows.Forms.Keys.Right) Then
  33.             'Destra
  34.         End If
  35.         If (e.KeyCode = System.Windows.Forms.Keys.Enter) Then
  36.             'Invio
  37.         End If
  38.  
  39.     End Sub
  40. 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
PM Quote