Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    inserimento in db (problema strutturale)

    allora,
    devo fare degli aggionrnamenti su alcuni campi, il problema è che ogni volta non so quali e quanti siano i campi, sono variabili sia in numero sia in id.
    mi spiego meglio.

    ho una serie di record, che richiamo da una query "select * where camposezione = X"..

    questa query, a seconda del valore di X, mi torna n record.
    io avrei bisogno di aggiornare tutti e solo i record selezionati inserendo in un campo che si chiama "ordine" un numero.

    in pratica dalla pagina con la select creo un form con campi di testo all'interno del quale metto i valori che dovrò passare al db.

    se volessi aggiornarne uno alla volta nn ci sono problemi, quello che vorrei è aggiornarli tutti insieme..

    è possibile fare una select che selezioni solo gli id che decido io?!

    grazie..

  2. #2

    Re: inserimento in db (problema strutturale)

    se per ogni record il valore può essere diverso non credo sia possibile
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  3. #3
    Se ho capito bene tu non sai quanti record devi selezionare da una volta all'altra ok?
    Mettiamo caso che possiedi tutti gli id dei record da selezionare, in questo caso ti basta fare:
    codice:
    SELECT *  FROM T_NOTIZIA WHERE ID_NOTIZIA IN (id1, id2, idn)
    cosi ti prendi solo i record con id che vuoi te.

    ho capito bene o on era quello che intendevi?
    ...NO ONE IS INNOCENT ANYMORE...

  4. #4
    Originariamente inviato da rotteninside
    Se ho capito bene tu non sai quanti record devi selezionare da una volta all'altra ok?
    Mettiamo caso che possiedi tutti gli id dei record da selezionare, in questo caso ti basta fare:
    codice:
    SELECT *  FROM T_NOTIZIA WHERE ID_NOTIZIA IN (id1, id2, idn)
    cosi ti prendi solo i record con id che vuoi te.

    ho capito bene o on era quello che intendevi?
    si il problema che nn so nemmeno se i record saranno 1, 10 o 100... e il valore da inserire è unico per ogni record..

  5. #5
    se il valore fosse uguale per tutti i record potresti fare così

    codice:
    UPDATE    TABELLA
    SET CAMPO_DA_AGGIORNARE = NUOVO_VALORE
    WHERE (camposezione  = 'X')
    essendo unico per ogni record credo che l'operazione sia impossibile
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  6. #6
    come sono i parametri che ti vengono passati?
    ...NO ONE IS INNOCENT ANYMORE...

  7. #7
    Potresti farlo con due query il lavoro che ti serve...
    una query dove ti tiri fuori tutti gli ID

    a questo punto ti cicli il recordset ottenuto e fai una ulteriore select sulla tabella per id. Ottenuto il secondo recordset fai l'update del campo che ti serve

    ad esempio:
    codice:
    rs1 = server.createobject("Adodb.recordset") ' primo recordset
    rs2 = server.createobject("Adodb.recordset") ' secondo recordset
    SQL1 = "SELECT Count(TABELLA.CAMPO) AS CONTEGGIO_CAMPI, TABELLA.ID
    FROM TABELLA where TABELLA.ID in (id1,id2)
    GROUP BY TABELLA.ID"
    rs1.open SQL1, connessione,3,3
    do while not rs1.eof
      SQL2 = "SELECT CAMPO_DA_AGGIORNARE FROM TABELLA WHERE TABELLA.ID = " + rs1("ID")
      rs2.open SQL2, connessione, 3,3
      do while not rs2.eof 
        rs2("CAMPO_DA_AGGIORNARE") = VALORE ' aggiorno i campi
    
       rs2.movenext
      loop
      rs2.update
      rs2.close
     rs1.movenext
    loop
    io farei così...
    ...NO ONE IS INNOCENT ANYMORE...

  8. #8
    Originariamente inviato da rotteninside
    Potresti farlo con due query il lavoro che ti serve...
    una query dove ti tiri fuori tutti gli ID

    a questo punto ti cicli il recordset ottenuto e fai una ulteriore select sulla tabella per id. Ottenuto il secondo recordset fai l'update del campo che ti serve

    ad esempio:
    codice:
    rs1 = server.createobject("Adodb.recordset") ' primo recordset
    rs2 = server.createobject("Adodb.recordset") ' secondo recordset
    SQL1 = "SELECT Count(TABELLA.CAMPO) AS CONTEGGIO_CAMPI, TABELLA.ID
    FROM TABELLA where TABELLA.ID in (id1,id2)
    GROUP BY TABELLA.ID"
    rs1.open SQL1, connessione,3,3
    do while not rs1.eof
      SQL2 = "SELECT CAMPO_DA_AGGIORNARE FROM TABELLA WHERE TABELLA.ID = " + rs1("ID")
      rs2.open SQL2, connessione, 3,3
      do while not rs2.eof 
        rs2("CAMPO_DA_AGGIORNARE") = VALORE ' aggiorno i campi
    
       rs2.movenext
      loop
      rs2.update
      rs2.close
     rs1.movenext
    loop
    io farei così...
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

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.