Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    baol update: inserimento record

    Ho aggiunto il seguente script per poi inserire gli altri campi del form in un db:
    codice:
    While Not .EOF
    .....
    .Save
    .Database.Fields("autore") 		=.Form("cmbAutore")
    .Database.Fields("sub_autore") 		=.Form("txtSub_autore")
    .Database.Fields("argomento") 		=.Form("cmbArgomento")
    .Database.Fields("titolo") 		=.Form("txtTitolo")
    .Database.Fields("testo") 		=NomeProgetto&"/"&.GetFileName
    .Database.Fields("visualizza_mode")     =.Form("cmbVisualizza_mode")
    .Database.Fields("diritti") 		=.Form("cmbDiritti")
    .Database.Fields("data") 		=ITADate
    .Database.AddNew()
    ....
    FUNZIONA, ma avendo creato una funzione alla quale si passa i calori dei campi e dei relativi valori in due variabili array, vorrei che automaticamente il record fosse generato attraverso:
    codice:
    ...
    .Save
    arrcampo = Split(campo,"|")
    arrvalore= Split(valore,"|")					
    for i=0 to (ubound(arrcampo))	
    	.Database.Fields(arrcampo(i))=arrvalore(i)
    	.Database.AddNew()
    ...
    ma non funziona!
    Ho messo un response.write e le variabili array sono giuste:
    dopo
    .Database.Fields(arrcampo(i))=arrvalore(i)
    ho messo:
    codice:
    response.write arrcampo(i) &"="& arrvalore(i) &"
    "
    :master:

  2. #2
    Prova
    codice:
    While Not .EOF
    ...
    .Save
    arrcampo = Split(campo,"|")
    arrvalore= Split(valore,"|")					
    for i=0 to (ubound(arrcampo))	
    	.Database.Fields(arrcampo(i))=arrvalore(i)
    next 	
    .Database.AddNew()
    
    .movenext '(immagino......)
    ...
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  3. #3
    E' già così!!!

  4. #4
    così....diverso da come lo avevi postato prima?
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #5
    non ho capito cosa hai voluto dire, e era già come lo hai scritto tu!
    Semplicemente avevo omesso di postare il restante codice.

    Questo è quello che ho scritto io:
    codice:
    While Not .EOF
    .Save
    arrcampo 	= Split(campo,"|")
    arrvalore 	= Split(valore,"|")
    for i=0 to (ubound(arrcampo))
    .Database.Fields(arrcampo(i))	=	arrvalore(i)
    next
    .Database.AddNew()
    .MoveNext
    Wend

  6. #6
    Semplicemente avevi omesso anche qualche istruzioncina intermedia, visto che con o senza quel

    next

    la solfa cambia di molto, ecco il motivo della mia domanda........se c'era già prima, allora sono anch'io in alto mare......



    vediamo....
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  7. #7
    in effetti.....hai ragione

  8. #8
    Problema risolto!
    Praticamente se il valore di uno dei campa passati è nullo, il record non viene scritto, per cui escludendo i campi il cui lavore è nullo gira bene:
    codice:
    for i=0 to (ubound(arrCampo))
       if arrValore(i) <> "" then
          .Database.Fields(arrCampo(i))	=	arrValore(i)
       End If
    next
    avevo provato anche con:
    codice:
    i=-1
    do
    	i = i + 1
    	if arrValore(i) <> "" then
    		.Database.Fields(arrCampo(i))	=	arrValore(i)
    	End If
    loop while (i<>ubound(arrCampo))
    Ma mi sembra un po + lento...è possibile questa cosa???

  9. #9
    Per la velocità di esecuzione non saprei, penso solo che per rendertene conto così a occhio dovresti avere moltissimi dati....se ti interessa approfondire la cosa, puoi cominciare a far eseguire la stessa procedura sugli stessi dati prima con un metodo, poi con l'altro, e controllare il tempo impiegato così:

    codice:
    a=timer
    ....
    procedura 1
    ....		
    b=timer
    	
    response.write "Tempo impiegato: " & b-a & "
    "
    
    c=timer
    ....
    procedura 2
    ....		
    d=timer
    	
    response.write "Tempo impiegato: " & d-c & "
    "
    Se gli intervalli sono troppo piccoli fai eseguire ogni procedura qualche migliaio di volte, con un ciclo for.

    Ciao

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  10. #10
    E' più veloce il ciclo for!!!

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.