Logo UGIdotNET

Discussione 'IDENTITY'

# Pubblicato il 12 ott 2011 13.11 - Rispondi
CelEnzo CDC
IDENTITY
Buon Giorno a tutti
Ingredienti: Vista a 32 bit, visual studio 2010 pro senza SP1, database Access 2007, Microsoft Jet 4.0 OLE DB Provider. Progetto compilato "x86" "Any CPU".
Un vecchio programma (FRAMEWORK 2) funziona benissimo e riesco a modificarlo. Nelle Tabelle Master Detail con la funzione inserimento so l’ID del Master e o con le Relazioni o intervenendo manualmente sulle Detail gestisco il tutto.

Tento di creare un nuovo programma o di aggiornare il vecchio e la ciambella esce con il buco.
Sto provando in tutti i modi, ma l’ID che ritorna nella funzione INSERIMENTO è SEMPRE 0.

Il codice nella funzione INSERIMENTO è simile a quello usato anche sul sito MSDN.

So che ne avete già parlato, ho letto da tutte le parti, ma non ottengo risultati.

So che consiglierete di passare a SQL EXpress, ma già così mi fanno mali i denti.

Sono bloccato
Se Potete Gradirei un’aiuto

Grazie

CelEnzo

Friend WithEvents da As New System.Data.OleDb.OleDbDataAdapter

Private Sub CategoriesBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CategoriesBindingNavigatorSaveItem.Click
Me.Validate()
Me.CategoriesBindingSource.EndEdit()
'Me.CategoriesTableAdapter.Update(Me.NorthwindDataSet.Categories.Select("", "", Data.DataRowState.Added))
da.InsertCommand = CategoriesTableAdapter.Adapter.InsertCommand
da.Update(Me.NorthwindDataSet.Categories.Select("", "", Data.DataRowState.Added))

'Me.TableAdapterManager.UpdateAll(Me.NorthwindDataSet)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: questa riga di codice carica i dati nella tabella 'NorthwindDataSet.Categories'. È possibile spostarla o rimuoverla se necessario.
Me.CategoriesTableAdapter.Fill(Me.NorthwindDataSet.Categories)
'AddHandler Me.CategoriesTableAdapter.Adapter.RowUpdated, AddressOf Inserimento
AddHandler da.RowUpdated, AddressOf Inserimento
End Sub

Private Sub Inserimento(ByVal sender As Object, ByVal e As OleDb.OleDbRowUpdatedEventArgs)
If e.Status = UpdateStatus.[Continue] AndAlso e.StatementType = StatementType.Insert Then
Dim cmdRefresh As OleDb.OleDbCommand = New OleDb.OleDbCommand("SELECT @@IDENTITY", Me.TableAdapterManager.Connection)
e.Row("CategoryID") = CInt(cmdRefresh.ExecuteScalar)
e.Row.AcceptChanges()
End If
End Sub


© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185