Ciao ragazzi,
sto avendo un problema con una procedura abbastanza semplice, che dovrebbe gestire l'aggiornamento di circa 400 righe per il campo prezzo.
Quando avvio l'operazione dopo qualche secondo, circa 10, mi esce l'errore del timeout dell'operazione, eppure nel web.config ho configurato correttamente:
<system.web>
<httpRuntime executionTimeout="6000"/>
Il codice che gestisce l'update in questione è questo:
Come vedete è un semplice aumento di prezzo che infatti per 50 articoli è immediato, mentre se provo su circa 400 mi va in errore.codice:Dim IDMarchio As Integer IDMarchio = GrdMarchio.SelectedDataKey.Value Dim Percentuale As Integer Percentuale = TxtPercentuale.Text Dim ConnStr As String = WebConfigurationManager.ConnectionStrings("connessione").ToString Dim Conn As New SqlConnection(ConnStr) Conn.Open() Dim MYSQL As String Dim MYCMD As SqlCommand Dim MYDR As SqlDataReader MYSQL = "SELECT *FROM tab_prodotti WHERE id_marchio_prodotto = @id_marchio_prodotto AND elimina_prodotto = 0 ORDER BY ID_prodotti ASC" MYCMD = New SqlCommand(MYSQL, Conn) MYCMD.Parameters.Add("id_marchio_prodotto", SqlDbType.Int).Value = IDMarchio MYDR = MYCMD.ExecuteReader Dim PrezzoVecchio, PrezzoNuovo As Decimal Dim IDProdotto As Integer Dim MYSQL2 As String Dim MYCMD2 As SqlCommand If MYDR.HasRows = True Then Do While MYDR.Read PrezzoVecchio = MYDR.Item("prezzo_prodotto") PrezzoNuovo = FormatNumber(PrezzoVecchio * (1 + (Percentuale / 100)), 2) IDProdotto = MYDR.Item("ID_prodotti") MYSQL2 = "UPDATE tab_prodotti SET prezzo_prodotto = @prezzo_prodotto WHERE ID_prodotti = @ID_prodotti" MYCMD2 = New SqlCommand(MYSQL2, Conn) MYCMD2.Parameters.Add("prezzo_prodotto", SqlDbType.Decimal).Value = PrezzoNuovo MYCMD2.Parameters.Add("ID_prodotti", SqlDbType.Int).Value = IDProdotto MYCMD2.ExecuteNonQuery() Loop End If MYDR.Close() Conn.Close()
Sapete dirmi cosa posso fare per risolvere?
Grazie mille

Rispondi quotando