Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423

    [c#] transacion stored procedure

    Salve,
    ho creato una procedura in sql 2008 da far eseguire in c#, ma ho un problema sul commit che non esegue le query che sono all'interno della sp.

    in c# ho fatto questo;
    codice:
                SqlConnection sqlConnection1 = new SqlConnection(connectionString);
                sqlConnection1.Open();
                sqlTrans = sqlConnection1.BeginTransaction();
                SqlCommand cmd = new SqlCommand("mystore", sqlConnection1, sqlTrans);
    
    
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@var1", 1);
                cmd.Parameters.AddWithValue("@var2", "2");
                cmd.Parameters.AddWithValue("@var3", "3");
                cmd.Parameters.AddWithValue("@var4", "4");
                cmd.Parameters.AddWithValue("@var5", "5");
                cmd.Parameters.AddWithValue("@var6", 6);
    
                try
                {
                    cmd.ExecuteNonQuery();
                    sqlTrans.Commit();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    sqlTrans.Rollback();
    
                }
                sqlConnection1.Close();
    con il codice che ho postato non esegue il commit...

    Suggerimenti? grazie.
    Mike

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    probabilmente e' la query scritta male. che messaggio ti da' l'exception ?

    comunque la chiusura della connessione mettila nel costrutto try...catch...finally, cosi' la chiude sempre.

  3. #3
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    Ciao,
    se eseguo la query da management studio funziona...
    in c# non mi da nessun errore:
    in debug vedo soltanto che cmd.ExecuteNonQuery() impiega qualche secondo prima di passare al codice successivo, dopodichè passa su commit ed esce tranuillamente da try senza errori..
    Mike

  4. #4
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    STRANO UNA COSA:
    SE SCRIVO UNA QUERY "SELECT 1/0" ALL'ULTIMA RIGA DELLA SP, QUANDO ESEGUO IL CODICE MI VA IN CATCH, SEGNALANDOMI CORRETTAMENTE IL MESSAGGIO DI ERRORE. in pratica non riesce per qualche motivo ad eseguire il commit o il rollback....
    Mike

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da Mike
    Ciao,
    se eseguo la query da management studio funziona...
    in c# non mi da nessun errore:
    in debug vedo soltanto che cmd.ExecuteNonQuery() impiega qualche secondo prima di passare al codice successivo, dopodichè passa su commit ed esce tranuillamente da try senza errori..
    Ed allora qual'e' il problema ?

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.