Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251

    [where] errore di sintassi?

    ho un problema con una condizione where.
    in una pagina scorro senza problemi il contenuto di un db. poi con:

    codice:
    response.write "Modifica"
    passo il valore id alla pagina modifica_db.asp

    modifica_db.asp
    codice:
    <%
    'connessione al DB
    Set objCon = Server.CreateObject( "ADODB.Connection" )
    objCon.connectionstring = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("iscritti.mdb")
    objCon.Open
    
    'selez. campi e colonna recuperando il valore di ID
    strSQL = "SELECT id,nome,cognome,email FROM iscnewsletter WHERE id="Request.QueryString("id")
    
    'creo l’oggetto Rs
    Set rs=Server.CreateObject("ADODB.recordset")
    
    'apro Rs, eseguo la sringa SQL
    rs.Open strSQL, objcon
    
    'con un ciclo while (singolo) scorro solo la riga relativa all'id
    while not rs.EOF
    id = rs("id")
    nome = rs("nome")
    cognome = rs("cognome")
    email = rs("email") 
    wend
    
    Response.Write "l'id è "&id
    Response.Write "il nome è "&nome
    Response.Write "il cognome è "&cognome
    Response.Write "la mail è "&email
    
    'chiudo Rs e objcon e svuoto la memoria
    rs.close
    Set rs = Nothing
    objcon.close
    Set objcon = Nothing
    %>
    
    'in un form visualizzo il contenuto della riga recuperata
    <form method="post" action="modifica.asp">
    ID: <input type="text" size="10" name="id" value="<%=strid%>">
    
    Nome: <input type="text" size="10" name="nome" value="<%=strnome%>">
    
    Cognome 
      <input name="cognome" type="text" value="<%=strcognome%>" size="10">
      
    
    Email 
      <input type="text" size="15" name="email" value="<%=stremail%>">
      
    
    <inpt type="submit" value="Modifica">
    </form>
    il risultato è:
    Errore di compilazione di Microsoft VBScript error '800a0401'
    Prevista fine istruzione
    modifica_db_iscritti.asp, line 16
    strSQL = "SELECT id,nome,cognome,email FROM iscnewsletter WHERE id="Request.QueryString("id")

    ho controllato e ricontrollato la sintassi, eppure mi sembra tutto giusto.. ci sto sbattendo la testa da ieri
    qualche suggerimento?
    ciao e grazie

  2. #2
    Così:

    codice:
    strSQL = "SELECT id,nome,cognome,email FROM iscnewsletter WHERE id= " & Request.QueryString("id")
    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 L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251
    avevo gia provato anche così, ma lo script va in timeout.
    come posso fare per non farlo andare in timeout?

  4. #4
    Prova ora:

    codice:
    <%
    'connessione al DB
    Set objCon = Server.CreateObject( "ADODB.Connection" )
    objCon.connectionstring = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("iscritti.mdb")
    objCon.Open
    
    'selez. campi e colonna recuperando il valore di ID
    strSQL = "SELECT id,nome,cognome,email FROM iscnewsletter WHERE id=" & Request.QueryString("id")
    
    'creo l’oggetto Rs
    Set rs=Server.CreateObject("ADODB.recordset")
    
    'apro Rs, eseguo la sringa SQL
    rs.Open strSQL, objcon
    
    'con un ciclo while (singolo) scorro solo la riga relativa all'id
    while not rs.EOF
    id = rs("id")
    nome = rs("nome")
    cognome = rs("cognome")
    email = rs("email") 
    wend
    
    Response.Write "l'id è "&id
    Response.Write "il nome è "&nome
    Response.Write "il cognome è "&cognome
    Response.Write "la mail è "&email
    
    'chiudo Rs e objcon e svuoto la memoria
    rs.close
    Set rs = Nothing
    objcon.close
    Set objcon = Nothing
    %>
    
    'in un form visualizzo il contenuto della riga recuperata
    <form method="post" action="modifica.asp">
    ID: <input type="text" size="10" name="id" value="<%=id%>">
    
    Nome: <input type="text" size="10" name="nome" value="<%=nome%>">
    
    Cognome 
      <input name="cognome" type="text" value="<%=cognome%>" size="10">
      
    
    Email 
      <input type="text" size="15" name="email" value="<%=email%>">
      
    
    <inpt type="submit" value="Modifica">
    </form>
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    Utente di HTML.it L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251

    va sempre in timeout
    dici che potrebbe dipendere dal server o dai file temp di internet?

  6. #6
    Dopo queste:

    codice:
    Response.Write "l'id è "&id
    Response.Write "il nome è "&nome
    Response.Write "il cognome è "&cognome
    Response.Write "la mail è "&email
    metti un:

    codice:
    Response.End
    Dimmi se te le visualizza.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    while not rs.EOF
    id = rs("id")
    nome = rs("nome")
    cognome = rs("cognome")
    email = rs("email")
    wend


    l'errore sta qui... concentrati, che lo trovi...

  8. #8
    Utente di HTML.it L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251
    scusami ma ....cuncentrameeeeento!! non riesco proprio ad arrivarci

  9. #9
    se non ti muovi, resti sempre al palo... ci credo che ti va in timeout

  10. #10
    Soluzione 1):

    codice:
    while not rs.EOF 
       id = rs("id") 
       nome = rs("nome") 
       cognome = rs("cognome") 
       email = rs("email") 
       rs.movenext 
    wend
    Soluzione 2) --> se ID è univoco reperisci solamente un record, per cui basta fare:

    codice:
    if not rs.EOF 
       id = rs("id") 
       nome = rs("nome") 
       cognome = rs("cognome") 
       email = rs("email") 
    else
       response.write("Nessun record presente")
    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.