| 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 |