io utilizzo queste funzioni
Aggiustale perchè queste danno il prossimo id utilizzabile, e non l'ultimo id inserito.codice:#Region " metodi di database " '---------------------------------------------------------------------------------- 'Restituisce Il prossimo Identificativo di una tabella oracle '---------------------------------------------------------------------------------- Public Function ProssimoIDOracle%(ByVal StringaConnessione$, ByVal NomeTabella$, ByVal NomeCampoID$, Optional ByVal Where$ = "1=1") Dim sql$ = String.Format("SELECT DECODE(MAX({1}), NULL, 1, MAX({1}) + 1 ) AS PROSSIMO_ID FROM {0} WHERE {2}", NomeTabella, NomeCampoID, Where) Try Return CInt(RisultatoAggregazioneSQL(StringaConnessione, sql)) Catch ex As Exception Throw End Try End Function '---------------------------------------------------------------------------------- 'Restituisce Il prossimo Identificativo di una tabella Access '---------------------------------------------------------------------------------- Public Function ProssimoIDAccess%(ByVal StringaConnessione$, ByVal NomeTabella$, ByVal NomeCampoID$, Optional ByVal Where$ = "1=1") Dim sql$ = String.Format("SELECT IIF(ISNULL(MAX({1})),1, MAX({1}) + 1) AS PROSSIMO_ID FROM {0} WHERE {2}", NomeTabella, NomeCampoID, Where) Try Return CInt(RisultatoAggregazioneSQL(StringaConnessione, sql)) Catch ex As Exception Throw End Try End Function
A proposito, le ho piazzate nelle famose librerie di uso generale e non hanno mai fallito (per adesso)![]()
![]()

Rispondi quotando