ciao, forse da abitudini sbagliate scrivo male il codice...
se posso vi posto una pagina dove prelevo da vari db dei dati per fare una classifica.
il problema è che oltre ad avere dei risultati errati (ma questo lo vedremo dopo) ci mette un tempo esagerato per eseguire la pagina (tipo mezzo minuto se non +) quindi non so se dare colpa al fatto che scrivo male il codice o se la colpa sta nel fatto che le connessioni sono tante ecc ecc!
codice:<% response.Buffer = true 'cancello i record nella tabella topmese Dim rs_canc Set rs_canc = Server.CreateObject("ADODB.Command") rs_canc.ActiveConnection = MM_users_STRING rs_canc.CommandText = "DELETE * FROM TOPMESE" rs_canc.Execute rs_canc.ActiveConnection.Close Set rs1 = Server.CreateObject("ADODB.Recordset") SQL1 = "SELECT * FROM mobyle" rs1.open SQL1, MM_users_STRING, 0,3 Set topm = Server.CreateObject("ADODB.Recordset") SQLm = "SELECT * FROM TOPMESE" topm.open SQLm, MM_users_STRING, 0,3 do While NOT rs1.EOF 'venduto Set rsv = Server.CreateObject("ADODB.Recordset") SQLv = "SELECT SUM(ITEMS_TOTAL) as TOT FROM ORDERS WHERE billing_notes LIKE '%-" & rs1.Fields.Item("store").Value & "-%' AND ORDER_DATE BETWEEN 01/07/2006 AND 31/07/2006" rsv.open SQLv, MM_conn_db_STRING, 0,3 venduto = rsv.Fields.Item("tot").Value venduto = venduto*25/100 rsv.close() set rsv=NOTHING 'punteggio set rspunti = Server.CreateObject("ADODB.Recordset") SQLpunti = "SELECT punti FROM mobyle WHERE store = '" & rs1.Fields.Item("store").Value & "'" rspunti.open SQLpunti, MM_users_STRING, 0,3 punti = rspunti.Fields.Item("punti").Value punti = punti*50/100 rspunti.close() set rspunti=NOTHING 'RICHIESTE MOBYLE set rs4 = server.CreateObject("adodb.recordset") strSQL4="SELECT COUNT (richieste_info.id) AS trippa FROM richieste_info WHERE codstore='"&rs1.Fields.Item("store").Value&"' AND visto = false " rs4.open strSQL4, MM_store_STRING, 0, 3 rm = rs4("trippa") rs4.close() set rs4=NOTHING 'RICHIESTE AZIENDE set rs6 = server.CreateObject("adodb.recordset") strSQL6="SELECT COUNT (utenti.id) AS aziende_ricevute FROM utenti WHERE motivazioni = '"&rs1.Fields.Item("store").Value&"' AND visto = false " rs6.open strSQL6, conn_aziende, 0, 3 ra = rs6("aziende_ricevute") rs6.close() set rs6=NOTHING 'totale richieste richieste = rm+ra*25/100 response.Write(richieste) 'TOTALE COMPLESSIVO totcomp = venduto+punti+richieste topm.AddNew topm("store") = (rs1.Fields.Item("store").Value) topm("totale") = venduto topm("punti") = punti topm("richieste") = richieste topm("totale") = totcomp topm.Update rs1.MOVENEXT LOOP rs1.close() set rs1=NOTHING topm.close() set topm=NOTHING MM_store_STRING.close() set MM_store_STRING=NOTHING conn_aziende.close() set conn_aziende=NOTHING %>

Rispondi quotando