Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB.NET 2.0] Insert duplicato con SCOPE_IDENTITY()

    Ciao ragazzi, ho 1 dubbio che spero mi possiate risolvere. Ho 1 stupidissima stored procedure:

    codice:
    ALTER PROCEDURE spCreaReferenteDaAliasEsistente
    (
    		@IDAlias int,
    		@IDReferente int OUTPUT,
    		@IDAzienda int		
    )
    
     AS	
    	 Begin transaction
    		INSERT INTO rAziendePersoneReferenti (IDPersona,IDAzienda) VALUES (@IDAlias,@IDAzienda)
    		SET @IDReferente =SCOPE_IDENTITY()
    	
    	Commit transaction
    che viene richiamata così:

    codice:
    Dim myConnectionString As String
            myConnectionString = "xxxxxxxxxxxxxxxxxxxxxxx"
            Dim myConnection As System.Data.SqlClient.SqlConnection = New Data.SqlClient.SqlConnection(myConnectionString)
    
            Dim cmd As New Data.SqlClient.SqlCommand("spCreaReferenteDaAliasEsistente", myConnection)
            cmd.CommandType = Data.CommandType.StoredProcedure
            cmd.Parameters.AddWithValue("@IDAzienda", Request.Params("IDAlias"))
            cmd.Parameters.AddWithValue("@IDAlias", Me.HiddenFieldIDPersona.Value)
    
    
            Dim workParam As Data.SqlClient.SqlParameter
            workParam = cmd.Parameters.Add("@IDReferente", Data.SqlDbType.Int, 32)
            workParam.Direction = Data.ParameterDirection.Output
    
    
            myConnection.Open()
            cmd.ExecuteNonQuery()
            myConnection.Close()
    
        Dim IDReferente As Integer = cmd.Parameters("@IDReferente").Value
    Posso accedere tranquillamente al valore di IDReferente creato (la chiave primaria autoincrementale della tabella rAziendePersoneReferenti è IDReferente), ma purtroppo nella tabella mi vengono creati due record successivi con uguale IDAzienda e IDAlias).

    La causa penso stia nella riga
    codice:
    SET @IDReferente =SCOPE_IDENTITY()
    perchè togliendola mi viene creato solo 1 record, ma purtroppo a me serve il parametro di output IDReferente per ulteriori elaborazioni. Perchè si verifica questo problema e come posso correggerlo? Grazie!



  2. #2
    Up

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.