Created
February 25, 2020 14:39
-
-
Save riccardopirani/d5ae634042347c4c366315acbc56df39 to your computer and use it in GitHub Desktop.
Sql Timeouit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out | |
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) | |
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) | |
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) | |
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) | |
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) | |
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) | |
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) | |
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() | |
at Myapp.Model.CapitoloModel.DuplicaCapitolo(Int32 IdPreventivo, Int32 IdCapitolo) in C:\Users\riccardo\Desktop\Progetti\Myapp\src\Myapp\Myapp\Model\CapitoloModel.cs:line 132 | |
ClientConnectionId:b4f3d128-449f-40da-852e-bba9d0a12924 | |
Error Number:-2,State:0,Class:11Myapp | |
*/ | |
/* C# Code: */ | |
public static bool DuplicaCapitolo(int IdPreventivo, int IdCapitolo) | |
{ | |
SqlConnection conn = Database.Apriconnessione(); | |
SqlTransaction Transaction = conn.BeginTransaction(); | |
bool ret = true; | |
try | |
{ | |
const string QueryLastIdCapitolo = " SELECT count(*) + 1 FROM Capitolo where IdPreventivo = @IdPreventivo "; | |
SqlCommand cmdLastidCapitolo = new SqlCommand(QueryLastIdCapitolo, conn, Transaction); | |
cmdLastidCapitolo.Parameters.AddWithValue("@IdPreventivo", SqlDbType.Int).Value = IdPreventivo; | |
int NumeroCapitoloLOAD = (int)cmdLastidCapitolo.ExecuteScalar(); | |
const string Query = "Select * from Capitolo where IdCapitolo=@IdCapitolo"; | |
SqlCommand cmd = new SqlCommand(Query, conn, Transaction); | |
cmd.Parameters.AddWithValue("@IdCapitolo", IdCapitolo); | |
SqlDataAdapter da = new SqlDataAdapter(cmd); | |
DataTable dt = new DataTable(); | |
da.Fill(dt); | |
foreach (DataRow dr in dt.Rows) | |
{ | |
int IdPreventivoLOAD = int.Parse(dr["IdPreventivo"].ToString()); | |
string TipologiaLOAD = dr["Tipologia"].ToString(); | |
decimal PrezzoRiservatoLOAD = decimal.Parse(dr["PrezzoRiservato"].ToString()); | |
string DescrizioneLOAD = dr["Descrizione"].ToString(); | |
decimal RicaricoLOAD = decimal.Parse(dr["Ricarico"].ToString()); | |
const string QueryINS = "Insert into Capitolo(IdPreventivo,NumeroCapitolo,Descrizione,Ricarico,Tipologia,PrezzoRiservato) values(@IdPreventivo,@NumeroCapitolo,@Descrizione,@Ricarico,@Tipologia,@PrezzoRiservato) SELECT SCOPE_IDENTITY()"; SqlCommand cmd2 = new SqlCommand(QueryINS, conn, Transaction); | |
cmd2.Parameters.AddWithValue("@IdPreventivo", IdPreventivoLOAD); | |
cmd2.Parameters.AddWithValue("@NumeroCapitolo", NumeroCapitoloLOAD); | |
cmd2.Parameters.AddWithValue("@Descrizione", DescrizioneLOAD); | |
cmd2.Parameters.AddWithValue("@Ricarico", RicaricoLOAD); | |
cmd2.Parameters.AddWithValue("@Tipologia", TipologiaLOAD); | |
cmd2.Parameters.AddWithValue("@PrezzoRiservato", PrezzoRiservatoLOAD); | |
cmd2.ExecuteNonQuery(); | |
const string QueryInsArticoli = "Insert into SottoCapitolo(IdCapitolo, Tipo, CodiceDistinta,Codice, Descrizione, DescrizioneEstesa, UnitaMisura, SottoCapitolo1, SottoCapitolo2, SottoCapitolo3, Note, RicaricoManodopera, Quantita, CostoUnitario, Images, PrezzoListino,PrezzoPersonalizzato) SELECT (select MAX(IdCapitolo) from Capitolo ) as IdCapitolo, Tipo, CodiceDistinta,Codice, SottoCapitolo.Descrizione, DescrizioneEstesa, UnitaMisura, SottoCapitolo1, SottoCapitolo2, SottoCapitolo3, Note, RicaricoManodopera, Quantita, CostoUnitario, Images, PrezzoListino,PrezzoPersonalizzato from SottoCapitolo inner join Capitolo on Capitolo.IdCapitolo = SottoCapitolo.IdCapitolo where SottoCapitolo.IdCapitolo = @IdCapitolo group by SottoCapitolo.Tipo,SottoCapitolo.Codice,SottoCapitolo.CodiceDistinta,SottoCapitolo.Descrizione,SottoCapitolo.DescrizioneEstesa,SottoCapitolo.UnitaMisura,SottoCapitolo.SottoCapitolo1,SottoCapitolo.SottoCapitolo2,SottoCapitolo.SottoCapitolo3,SottoCapitolo.Note,SottoCapitolo.RicaricoManodopera,SottoCapitolo.Quantita,SottoCapitolo.CostoUnitario,SottoCapitolo.Images,SottoCapitolo.PrezzoListino,SottoCapitolo.PrezzoPersonalizzato,Capitolo.IdCapitolo "; SqlCommand cmdInsArticoli = new SqlCommand(QueryInsArticoli, conn, Transaction); | |
cmdInsArticoli.Parameters.AddWithValue("@IdCapitolo", SqlDbType.Int).Value = IdCapitolo; | |
cmdInsArticoli.ExecuteNonQuery(); | |
} | |
Transaction.Commit(); | |
} | |
catch (Exception ex) | |
{ | |
Transaction.Rollback(); | |
Managementerror.SendError("Errore: " + ex); | |
ret = false; | |
} | |
finally | |
{ | |
conn.Close(); | |
} | |
return ret; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment