Creazione procedura Sql Server 2000

venerdì 26 febbraio 2010 - 15.57

nandonando Profilo | Senior Member

Ho creato questa procedura ciclica che mi crea un array ma purtroppo fa 45 giri primo ciclo e secondo 12 quindi 12*45= 540 e poi compila il risultante per 5 campi quindi 540*5 =2700 esiste secondo voi una procedura più veloce? Vi scrivo la mia:
Dim M As Integer
Dim I As String
Dim n As String
Dim CALCOLOISPETTORE As String = "<script language=JavaScript> " & vbCrLf
CALCOLOISPETTORE += "var Tab_PAG_ISPETTORE_Array = new Array();" & vbCrLf
''''

Dim strsqlISPETTORI As String = "select ID from tblIspettori"
Dim sqlTblISPETTORI As New SqlCommand(strsqlISPETTORI, cn)
Try

cn.Open()
Dim rdrISPETTORI As SqlDataReader = sqlTblISPETTORI.ExecuteReader(CommandBehavior.KeyInfo)
While rdrISPETTORI.Read()
''''''''''''''''''''''''''''
Dim strsqlTIPIVERIFICHE As String = "select ID from tblVERIFICHE_TIPI"
Dim sqlTblTIPIVERIFICHE As New SqlCommand(strsqlTIPIVERIFICHE, cn2)
Try

cn2.Open()
Dim rdrTIPIVERIFICHE As SqlDataReader = sqlTblTIPIVERIFICHE.ExecuteReader(CommandBehavior.KeyInfo)
While rdrTIPIVERIFICHE.Read()

'''''''''''''''''''
Dim strsqlPAGAMENTOISPETTORI As String = "SELECT dbo.TB_ISPETTORI_PAGAMENTO.*, ID_ISPETTORE, ID_VERIFICA_TIPO FROM dbo.TB_ISPETTORI_PAGAMENTO WHERE (ID_ISPETTORE = " & rdrISPETTORI.Item("ID") & " ) AND (ID_VERIFICA_TIPO = " & rdrTIPIVERIFICHE.Item("ID") & ")"
Dim sqlTblPAGAMENTOISPETTORI As New SqlCommand(strsqlPAGAMENTOISPETTORI, cn3)
Try
cn3.Open()
Dim rdrPAGAMENTOISPETTORI As SqlDataReader = sqlTblPAGAMENTOISPETTORI.ExecuteReader(CommandBehavior.KeyInfo)
If rdrPAGAMENTOISPETTORI.Read() Then
I = I & "Tab_PAG_ISPETTORE_Array [" & M & "] = new Array(5);" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][0] = " & rdrISPETTORI.Item("ID") & ";" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][1] = " & rdrTIPIVERIFICHE.Item("ID") & ";" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][2] = " & rdrPAGAMENTOISPETTORI.Item("PERCENTUALE_SI_NO").ToString & ";" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][3] = " & rdrPAGAMENTOISPETTORI.Item("PERCENTUALE_NUMERO").ToString & ";" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][4] = " & Replace(rdrPAGAMENTOISPETTORI.Item("TARIFFA_FISSA").ToString, ",", ".") & ";" & vbCrLf
M = M + 1
Else
I = I & "Tab_PAG_ISPETTORE_Array [" & M & "] = new Array(5);" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][0] = " & rdrISPETTORI.Item("ID") & ";" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][1] = " & rdrTIPIVERIFICHE.Item("ID") & ";" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][2] = 0;" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][3] = 0;" & vbCrLf
I = I & "Tab_PAG_ISPETTORE_Array[" & M & "][4] = 0;" & vbCrLf
M = M + 1
End If
cn3.Close()
Catch ex As Exception
cn3.Close()
End Try
'''''''''''''''''
End While
cn2.Close()
Catch ex As Exception
cn2.Close()
End Try

'''''''''''''''''''''''''
End While
cn.Close()
Catch ex As Exception
cn.Close()
End Try
'''''''''''''''

CALCOLOISPETTORE += I
CALCOLOISPETTORE = Mid(CALCOLOISPETTORE, 1, (Len(CALCOLOISPETTORE) - 1))
CALCOLOISPETTORE += "</" + "script>"
ViewState("FUNZIONEJAVASCRIPTPercentualeIspettore") = CALCOLOISPETTORE
Page.RegisterClientScriptBlock("PercentualeIspettore", ViewState("FUNZIONEJAVASCRIPTPercentualeIspettore"))
http://www.gustoroma.it
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5