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

    Duplicare uno o più record

    Salve a tutti ancora.......

    io ho questo recordset che crea uno o più record che soddisfano la sua condizione.....

    codice:
    <%
    Dim rsprova__MMColParam
    rsprova__MMColParam = "99"
    If (Request("MM_EmptyValue") <> "") Then 
      rsprova__MMColParam = Request("MM_EmptyValue")
    End If
    %>
    <%
    Dim rsprova__MMColParam2
    rsprova__MMColParam2 = "0"
    If (Request("MM_EmptyValue") <> "") Then 
      rsprova__MMColParam2 = Request("MM_EmptyValue")
    End If
    %>
    <%
    Dim rsprova
    Dim rsprova_cmd
    Dim rsprova_numRows
    
    Set rsprova_cmd = Server.CreateObject ("ADODB.Command")
    rsprova_cmd.ActiveConnection = MM_con_rimorinservice_STRING
    rsprova_cmd.CommandText = "SELECT * FROM DOC_DETT WHERE DONUMDOC = ? AND DOCODCLI = ?" 
    rsprova_cmd.Prepared = true
    rsprova_cmd.Parameters.Append rsprova_cmd.CreateParameter("param1", 5, 1, -1, rsprova__MMColParam2) ' adDouble
    rsprova_cmd.Parameters.Append rsprova_cmd.CreateParameter("param2", 5, 1, -1, rsprova__MMColParam) ' adDouble
    
    Set rsprova = rsprova_cmd.Execute
    rsprova_numRows = 0
    %>
    vorrei DUPLICARE i risultati ottenuti dentro alla tabella del database DOC_DETT come posso fare?
    Immagino devo fare una INSERT ma come ?

  2. #2
    INSERT INTO tabella1 (campo1, campo2, ..., campoN) SELECT campo1, campo2, ..., campoN FROM tabella2 WHERE condizione

    that easy!

  3. #3
    Grazie adesso provo......

    Ma così se il recordset restituisce 3/4/n record me li copia tutti o solo il primo?

  4. #4
    io l'ho messa così ma mi dà un errore.....
    praticamente voglio replicare esattamente tutti i record che crea la select ma modificando il valore di DONUMDOC in 31, cosa sbaglio??



    codice:
    qry =  qry & "INSERT INTO dbo.DOC_DETT (CPROWNUM, DOCODCLI, DONUMDOC, DOCODART, DODESART, DOTELAIO, DOQUANTI, DOPREZZO) SELECT CPROWNUM, DOCODCLI, 31, DOCODART, DODESART, DOTELAIO, DOQUANTI, DOPREZZO FROM DOC_DETT WHERE DONUMDOC = " + replace(rsprova__MMColParam2,"'","''") + " AND DOCODCLI = " + replace(rsprova__MMColParam,"'","''") + " "

  5. #5
    Originariamente inviato da marcopaolo79
    io l'ho messa così ma mi dà un errore.....
    non devi dirci qualcos'altro?

  6. #6
    purtroppo non mi dice altro che il numero di errore...... non ho la possibilità di provarlo direttamente sul database ma sto lavorando sul database facendo delle prove da pagine ASP.

    l'unica cosa che ti posso dire è che l'errore che mi dà è il numero -2147217873

    ma la mia sintassi è corretta?

  7. #7
    ----------------------------------------------------
    impariamo a fare un po' di debug

    *subito* dopo la composizione della stringa SQL metti

    Response.Write "maGGica SQL...: " & qry
    Response.Flush

    poi posta quello che viene a video
    ----------------------------------------------------


    ma quante volte l'avrò postata sta roba?

  8. #8
    Hai ragione ma è da giovedì che ci sbatto la testa e sono molto rincoglionito.....

    ecco la stringa:

    begin transaction INSERT INTO dbo.DOC_DETT (CPROWNUM, DOCODCLI, DONUMDOC, DOCODART, DODESART, DOTELAIO, DOQUANTI, DOPREZZO) SELECT CPROWNUM, DOCODCLI, 31, DOCODART, DODESART, DOTELAIO, DOQUANTI, DOPREZZO FROM DOC_DETT WHERE DONUMDOC = 0 AND DOCODCLI = 99 if @@error <> 0 begin rollback RETURN end COMMIT TRANSACTION

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.