Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 27 su 27
  1. #21
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    Quote Originariamente inviata da mexican Visualizza il messaggio
    for i = 0 to 10

    for y = 0 to 100

    next

    NEXT
    niente da fare, riesco ad arrivare fino a qui:


    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '1'
    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '8392'
    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '8393'
    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '8394'
    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '8395'

    cioè mette sempre lop stesso codice +
    questo errore:

    Errore di run-time di Microsoft VBScript error '800a000d'
    Tipo non corrispondente
    /italiano/admin/genera_codici.asp, riga 143

  2. #22
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Quote Originariamente inviata da Partisan75 Visualizza il messaggio
    niente da fare, riesco ad arrivare fino a qui:


    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '1'
    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '8392'
    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '8393'
    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '8394'
    UPDATE USERS SET USE_CODICE_SCONTO = 'EMYR5U54XRXJ96O' WHERE USE_ID = '8395'

    cioè mette sempre lop stesso codice +
    questo errore:

    Errore di run-time di Microsoft VBScript error '800a000d'
    Tipo non corrispondente
    /italiano/admin/genera_codici.asp, riga 143
    posta più codice

  3. #23
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    tutto il codice interessato

    Dim num_promo,SQLpromo,rspromo

    'seleziono il numero di promo validi
    SQLpromo = " SELECT COUNT(*) AS num_promo FROM PROMO WHERE nomepromo = 'PROVA' "
    Set rspromo = Conn.Execute(SQLpromo)

    'converto per sicurezza
    num_promo=Cint(rspromo("num_promo"))
    'Response.Write(num_promo)&" numero di record trovati <br/>"

    'controllo che sia un intero
    'Response.Write(VarType(num_promo)&" tipo di variabile se numero 2 <br/>")

    'Adesso ciclo su tutto il recordset, e metto ogni valore in un array
    SQLpromo="SELECT valore FROM promo WHERE nomepromo = 'PROVA' "
    Set rspromo = Conn.Execute(SQLpromo)

    'dichiaro l'array con dimensione pari a num_promo
    Dim array_promos()
    redim array_promos(num_promo)

    contatore=0
    Do while not rspromo.EOF
    array_promos(contatore)=rspromo("valore")
    rspromo.MoveNext
    contatore=contatore+1
    Loop
    For i = 0 to (UBound(array_promos)-1)
    'Response.Write(array_promos(i) & "<br/>")







    'dichiarazione variabili
    Dim Connmailing,StrConnectmailing, SQLmailing, RSmailing,SQLmailing2, RSmailing2

    'apro la connessione al db della Mailinglist
    Set Connmailing = Server.CreateObject("ADODB.Connection")
    StrConnectmailing = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & server.mappath("/mdb-database/newsletter.mdb") & ";Persist Security Info = False"
    Connmailing.open StrConnectmailing


    'Controllo che non ci sia gia la stessa EMail
    SQLmailing = " SELECT COUNT(*) AS num_promo2 FROM USERS WHERE USE_FIRST = 'PROVA_NOME' "
    Set RSmailing = Connmailing.Execute(SQLmailing)

    'converto per sicurezza
    num_promo2=Cint(RSmailing("num_promo2"))
    'Response.Write(num_promo2)&" numero di record trovati <br/>"

    'controllo che sia un intero
    'Response.Write(VarType(num_promo2)&" tipo di variabile se numero 2 <br/>")

    'Adesso ciclo su tutto il recordset, e metto ogni valore in un array
    SQLmailing = " SELECT USE_ID FROM USERS WHERE USE_FIRST = 'PROVA_NOME' "
    Set RSmailing = Connmailing.Execute(SQLmailing)

    'dichiaro l'array con dimensione pari a num_promo2
    Dim array_promos2()
    redim array_promos2(num_promo2)

    contatore=0
    Do while not RSmailing.EOF
    array_promos2(contatore)=RSmailing("USE_ID")
    RSmailing.MoveNext
    contatore=contatore+1
    Loop
    For y = 0 to (UBound(array_promos2)-1)
    'Response.Write(array_promos2(y) & " USE_ID di quello che cerco <br/>")


    'scrivo la query per aggiornare il codice
    SQLmailing2 = " UPDATE USERS SET USE_CODICE_SCONTO = '" & (array_promos(i)) & "' WHERE USE_ID = '" & (array_promos2(y)) & "' "
    'Set RSmailing2 = Connmailing.Execute(SQLmailing2)
    Response.Write(SQLmailing2& "<br/>")

    next
    next

  4. #24
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Io credo che tu abbia sbagliato la struttura del Database, non mi è chiaro ma mi pare che tu voglia inserire nel campo USE_CODICE_SCONTO valori diversi... per lo stesso USE_ID Giusto?

  5. #25
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    Quote Originariamente inviata da mexican Visualizza il messaggio
    Io credo che tu abbia sbagliato la struttura del Database, non mi è chiaro ma mi pare che tu voglia inserire nel campo USE_CODICE_SCONTO valori diversi... per lo stesso USE_ID Giusto?
    ti riferisci al PROVA_NOME? quello serve solo per contare quanti record ci sono dal momento in cui questa prova e fatta su un db con tutti i record aventi gli stessi nomi....

    voglio prelevare un codice diverso con (FROM PROMO WHERE nomepromo = 'PROVA') assegnarlo agli array poi
    vedere quanti utenti della seconda tabella devono ricevere il codice in update (FROM USERS WHERE USE_FIRST = 'PROVA_NOME')

    ed aggiornare la seconda tabella con UN CODICE DIVERSO (array_promos) per ogni UTENTE DIVERSO (array_promos2) così:

    SQLmailing2 = " UPDATE USERS SET USE_CODICE_SCONTO = '" & (array_promos(i)) & "' WHERE USE_ID = '" & (array_promos2(y)) & "' "

    spero di essermi spiegato, grazie ancora

    PS: non per lo stesso USE_ID, ma assegno al secondo array i numeri degli USE_ID dove fare l'update... (WHERE USE_ID = '" & (array_promos2(y)) & "')

  6. #26
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    non capisco poi perche mi da questo errore:

    Errore di run-time di Microsoft VBScript error '800a000d'

    Tipo non corrispondente

    genera_codici.asp, riga 143

    alla 143 c'è la riga di mezzo

    'dichiaro l'array con dimensione pari a num_promo2
    Dim array_promos2()
    redim array_promos2(num_promo2)

  7. #27
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    ragazzi non riesco solo ad annidare i 2 cicli, mi date per cortesia un ultimo aiuto?

    questo il risultato, cicla bene il WHERE ma il codice sconto non è ciclato nella query per l'update infatti lascia sempre il primo


    417109M092K1ZN0

    UPDATE USERS SET USE_CODICE_SCONTO = '417109M092K1ZN0' WHERE USE_ID = 1

    UPDATE USERS SET USE_CODICE_SCONTO = '417109M092K1ZN0' WHERE USE_ID = 8392

    UPDATE USERS SET USE_CODICE_SCONTO = '417109M092K1ZN0' WHERE USE_ID = 8393

    UPDATE USERS SET USE_CODICE_SCONTO = '417109M092K1ZN0' WHERE USE_ID = 8394

    UPDATE USERS SET USE_CODICE_SCONTO = '417109M092K1ZN0' WHERE USE_ID = 8395

    3XVA7G7M2H05054
    0F83039EF94JOE0
    KN3M2D7VGKKS3E7
    0U013G160CK4610


    PER SEMPLICITà POSTO SOLO LA PARTE DEL CODICE INTERESSATA



    contatore=0
    Do while not rspromo.EOF
    array_promos(contatore)=rspromo("valore")
    rspromo.MoveNext
    contatore=contatore+1
    Loop
    For i = 0 to (UBound(array_promos)-1)
    Response.Write(array_promos(i) & "<br/>")

    Do Until contatore < num_promo

    ... faccio altri controlli

    'dichiaro l'array con dimensione pari a num_promo2
    Dim array_promos2()
    redim array_promos2(num_promo2)

    contatore=0
    Do while not RSmailing.EOF
    array_promos2(contatore)=RSmailing("USE_ID")
    RSmailing.MoveNext
    contatore=contatore+1
    Loop
    For y = 0 to (UBound(array_promos2)-1)
    Response.Write(array_promos2(y) & " USE_ID di quello che cerco <br/>")


    'scrivo la query per aggiornare il codice
    SQLmailing2 = " UPDATE USERS SET USE_CODICE_SCONTO = '" & (array_promos(i)) & "' WHERE USE_ID = " & (array_promos2(y)) & " "
    Response.Write(SQLmailing2& "<br/>")

    next
    Loop
    next

    gRAZIE MILLE IN ANTICIPO

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.