Strano Comportamento Salvataggio Dati

domenica 25 marzo 2007 - 13.12

jekisi Profilo | Senior Member

Salve a tutto il forum mi servirebbe un parere.
Ho fatto un programma, dopo aver inserito delle righe, dopo qualche girno, dice il cliente, alcune righe scompaiono, da premettere che nella datagridview, uso la combobox.
A me, ad essere sincero, funziona correttamente, ma vorrei il vostro parere, metto di seguito il codice che uso per aggiungere e salvare le righe:

Per aggiungere:
Me.MeserigheBindingSource.AddNew()
DataTextBox.Text = Date.Today
MeseTextBox.Text = IdTextBox.Text
ImportoTextBox.Text = "€ 0,00"
Me.Validate()
Me.MeserigheBindingSource.EndEdit()
Me.MeserigheTableAdapter.Update(Me.GestioneConsegneDataSet2.Meserighe)


Per salvare, visto il problema, ho fatto in modo che salvasse + di una volta, prima salva la riga corrente e poi le salva tutte in questo modo:

Try
Me.Validate()
Me.MeserigheBindingSource.EndEdit()
Me.MeserigheTableAdapter.Update(Me.GestioneConsegneDataSet2.Meserighe)
If DittaTextBox.Text = "" Then
MsgBox("Non hai selezionato il Cliente nella riga.", MsgBoxStyle.Information)
End If

MeserigheDataGridView.Refresh()
Dim i As Integer
For i = 0 To Me.MeserigheBindingSource.Count - 1
Me.MeserigheBindingSource.Position = i
Me.Validate()
Me.MeserigheBindingSource.EndEdit()
Me.MeserigheTableAdapter.Update(Me.GestioneConsegneDataSet2.Meserighe)
If DittaTextBox.Text = "" Then
MsgBox("Non hai selezionato il Cliente nella riga.", MsgBoxStyle.Information)
End If

If ImportoTextBox.Text = "" Then
Else
ImportoTextBox.Text = Format(CDbl(ImportoTextBox.Text), "C")
End If
Me.MeserigheBindingSource.MoveFirst()
Me.MeserigheBindingSource.MoveLast()
Next
MeserigheDataGridView.Refresh()
Dim i1 As Integer
For i1 = 0 To Me.MeserigheBindingSource.Count - 1
Me.MeserigheBindingSource.Position = i1
Me.Validate()
Me.MeserigheBindingSource.EndEdit()
Me.MeserigheTableAdapter.Update(Me.GestioneConsegneDataSet2.Meserighe)
If DittaTextBox.Text = "" Then
MsgBox("Non hai selezionato il Cliente nella riga.", MsgBoxStyle.Information)
End If

If ImportoTextBox.Text = "" Then
Else
ImportoTextBox.Text = Format(CDbl(ImportoTextBox.Text), "C")
End If
Me.MeserigheBindingSource.MoveFirst()
Me.MeserigheBindingSource.MoveLast()
Next
Catch ex As Exception
MsgBox("Chiudere e riaprere la maschera e aggiornare la riga appena inserita.", MsgBoxStyle.Information)
ToolStripButton2.Enabled = True
End Try



La query di update è:
UPDATE Meserighe
SET Mese = ?, Data = ?, Ditta = ?, Importo = ?, Aliquota = ?, Guadagno = ?
WHERE (? = 1 AND Mese IS NULL OR
Mese = ?) AND (Idriga = ?) AND (? = 1 AND Data IS NULL OR
Data = ?) AND (? = 1 AND Ditta IS NULL OR
Ditta = ?) AND (? = 1 AND Importo IS NULL OR
Importo = ?) AND (? = 1 AND Aliquota IS NULL OR
Aliquota = ?) AND (? = 1 AND Guadagno IS NULL OR
Guadagno = ?

Secondo voi, in questo modo, è fattibile la perdita di dati?


Spero di avere presto vostre notizie

Distinti Saluti Fabio Messina
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5