Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395

    response redirect in base ad una uguaglianza

    Ciao a tutti ho un motore di ricerca che mi permette di cercare un numero di telefono in una tabella di access. Questo campo chiamato phone e' un testo...
    Il problema e' seguente:
    devo fare un confronto fra il campo phone della tabella e il numero che inserisco, se i due numeri sono uguali mi deve aprire una pagina altrimenti un altra...
    ecco lo script:

    <%

    Dim phone1
    phone1 = request.form("phone")
    session ("Phone")= phone1


    sql= "SELECT *" _
    & "FROM [Contacts]"_
    & "where Phone="&phone1&""

    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,1,3

    response.redirect("EditCustomer.asp?Idlead="&rs("I dLead")&"")

    response.Redirect("NewCustomer.asp")

    rs.Close
    set rs = Nothing
    %>

    Il problema e' che lui mi prende sempre il caso dove sono uguali, come gli chiedo nell'sql...
    Ho provato con un if ed un do while ma in quel caso mi prendo sempre e solo il primo record. Come posso fare?

  2. #2
    Prova così:

    codice:
    <% 
    
    Dim phone1 
    phone1 = request.form("phone") 
    session ("Phone")= phone1 
    
    
    sql= "SELECT *" _ 
    & "FROM [Contacts]"_ 
    & "where Phone="&phone1&"" 
    
    Set rs = Server.CreateObject("ADODB.Recordset") 
    rs.Open sql, conn ,1,3 
    
    if cstr(rs("Phone")) = cstr(phone1) then
       response.redirect("EditCustomer.asp?Idlead="&rs("IdLead")&"") 
    else
       response.Redirect("NewCustomer.asp") 
    end if
    
    rs.Close 
    set rs = Nothing 
    %>
    Se ho ben capito...
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395
    ciao grazie per la risposta...
    se inserisco un numero di telefono che ho funziona, se inserisco un numero nuovo mi da il seguente errore :
    Error Type:
    (0x80020009)
    Exception occurred.
    /site/ControlSearch.asp, line 20
    dove la linea 20 e':
    if cstr(rs("Phone")) = cstr(phone1) then
    ??????????
    cosa e' cstr?
    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395
    HELP ME!!!!!!!!

  5. #5
    Cstr tratta il valore della variabile come stringa.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395
    Ok grazie maximum ho capito...
    Va tutto bene quando metto un valore gia' presente nel database, pero' quando metto un valore nuovo mi da errore alla riga 20 cioe':
    if cstr(rs("Phone")) = cstr(phone1) then
    perche' non trova il valore il problema e' che vorrei usare l'if per fare un controllo se il valore e' uguale a phone vai a response.redirect("EditCustomer.asp?Idlead="&rs("I dLead")&"")
    else
    response.Redirect("NewCustomer.asp")
    Quello che non mi funziona e' l'else cioe' quando il valore non e' = ?
    Come posso fare, qualcuno mi puo' aiutare?
    Ciao

  7. #7
    Prova così:

    codice:
    if not isnull(phone1) then
       if cstr(rs("Phone")) = cstr(phone1) then
          response.redirect("EditCustomer.asp?Idlead="&rs("IdLead")&"") 
       else
          response.Redirect("NewCustomer.asp") 
       end if
    else
       response.Redirect("NewCustomer.asp") 
    end if
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente 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.