Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Errore Select

  1. #1

    Errore Select

    continuo ancora a combattere cn il mio piccolo motore di ricerca.. spiego la situazione.. ho un form cn 3 menu a tendina x le varie opzioni della select kiamate rispettivamente Localita Trattativa e Categoria e la combinazione di queste 3 dovrebbe darmi i risultati voluti..ottengo invece sempre l'intero elenco dei campi del mio db..credo allora ke il problema sia nella select..

    sql=select * from immobili where Localita like %"&Localita"% and Trattativa like %"&Trattativa&"% and Categoria like %"&Categoria&"% order by Codice

    sto impazzendo... VVoVe:

  2. #2

    Re: Errore Select

    Originariamente inviato da Alcolico

    sql=select * from immobili where Localita like %"&Localita"% and Trattativa like %"&Trattativa&"% and Categoria like %"&Categoria&"% order by Codice
    questa mica sarà la query che hai nel codice asp?
    e se un campo non è stato selezionato non lo controlli?

    i tre campi sono di tipo stringa sul db?

    codice:
    sql="select * from immobili " 
    sql=sql & " where 1=1"
    if Localita<>"" then 
    	sql=sql & " and Localita like '%" & Localita & "%'"
    end if
    if Trattativa<>"" then 
    	sql=sql & " and Trattativa like '%" & Trattativa& "%'"
    end if
    if Categoria<>"" then 
    	sql=sql & " and Categoria like '%" & Categoria & "%'"
    end if
    sql=sql & " order by Codice "

  3. #3

    Re:

    premetto ke (cm avrai capito) sn alle prime armi cn asp e db...

    questa è la porzione di codice ke ho nella pagina del motore di ricerca..

    <% strBody = ""
    For i = 1 To Request.Form.Count
    strBody = strBody & Request.Form.Key(i) & ": " & Request.Form.Item(i) & "
    "
    Next

    if Localita="tutte" then Localita="%"

    if Trattativa="tutte" then Trattativa="%"

    if Categoria="tutte" then Categoria="%"

    sql=select * from immobili where Localita like %"&Localita"% and Trattativa like %"&Trattativa&"% and Categoria like %"&Categoria&"% order by Codice
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
    OBJdbConnection.Open"driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/provaz/immobili.mdb")

    Set RS=OBJdbConnection.Execute(sql)%>

    ho provato cm mi hai suggerito ma ottengo sempre l'intero db.. si tutti e 3 i campi sn di tipo stringa (testo)

  4. #4
    fatti stampare la stringa sql, copiala e postala

  5. #5

    Re: Re:

    a me così funziona
    codice:
    strBody = ""
    For i = 1 To Request.Form.Count
    strBody = strBody & Request.Form.Key(i) & ": " & Request.Form.Item(i) & "
    "
    Next
    
    Localita=Request.Form ("Localita")
    Trattativa=Request.Form ("Trattativa")
    Categoria=Request.Form ("Categoria")
    
    
    sql="select * from immobili " 
    sql=sql & " where 1=1"
    if Localita<>"tutte" then 
    	sql=sql & " and Localita like '%" & Localita & "%'"
    end if
    if Trattativa<>"tutte" then 
    	sql=sql & " and Trattativa like '%" & Trattativa & "%'"
    end if
    if Categoria<>"tutte" then 
    	sql=sql & " and Categoria like '%" & Categoria & "%'"
    end if
    sql=sql & " order by Codice "
    
    response.write sql & "
    "
    
    
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection") 
    OBJdbConnection.Open"driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/provaz/immobili.mdb")
    
    Set RS=OBJdbConnection.Execute(sql)

  6. #6
    codice:
    strBody = ""
    For i = 1 To Request.Form.Count
    strBody = strBody & Request.Form.Key(i) & ": " & Request.Form.Item(i) & "
    "
    Next
    
    Localita=Request.Form ("Localita")
    Trattativa=Request.Form ("Trattativa")
    Categoria=Request.Form ("Categoria")
    
    
    sql="select * from immobili " 
    sql=sql & " where 1=1"
    if Localita<>"tutte" then 
    	sql=sql & " and Localita like '%" & Localita & "%'"
    end if
    if Trattativa<>"tutte" then 
    	sql=sql & " and Trattativa like '%" & Trattativa & "%'"
    end if
    if Categoria<>"tutte" then 
    	sql=sql & " and Categoria like '%" & Categoria & "%'"
    end if
    sql=sql & " order by Codice "
    
    response.write sql
    response.end
    
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection") 
    OBJdbConnection.Open"driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/provaz/immobili.mdb")
    Set RS=OBJdbConnection.Execute(sql)

  7. #7

    Nuovo errore

    Dopo le modifiche da voi gentilmente e celermente suggerite ora ho quest'altro errore..

    Microsoft VBScript compilation error '800a0400'

    Expected statement

    /provaz/motor2.asp, line 44

    <% response.write ("<center><h2>Immobili trovati</h2>
    <table border=1><tr><td>Codice</td><td align=center>Categoria</td><td>Trattativa</td><td>Localita</td><td>Provincia</td><td align=center>Condizioni</td><td>Metratura</td><td>Prezzo</td><td>Descrizione</td></tr>"):i=0%>

  8. #8
    Non ci sono errori di sintassi nel codice che hai postato.
    sei sicuro che la riga 44 sia quella?

    Posta altro codice utilizzando i tag [ CODE ][ /CODE ] senza spazi

  9. #9

    Re

    si la riga è quella giusta..posto la parte di codice..

    codice:
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection") 
    OBJdbConnection.Open"driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath
    ("/provaz/immobili.mdb")
    Set RS=OBJdbConnection.Execute(sql)
    
    
    <% response.write ("<center><h2>Immobili trovati</h2>
    <table border=1><tr><td>Codice</td>
    <td align=center>Categoria</td><td>Trattativa</td><td>Localita</td><td>Provincia</td>
    <td align=center>Condizioni</td><td>Metratura</td><td>Prezzo</td><td>Descrizione</td></tr>")
    :i=0%> 
    
    <% Do while NOT RS.EOF 
    
    i=i+1%> 
    
    <TR> 
    
    <td>
    <%Codice=rs("Codice")

  10. #10
    codice:
    <% 
    response.write ("<center><h2>Immobili trovati</h2>
    <table border=1><tr><td>Codice</td><td align=center>Categoria</td><td>Trattativa</td><td>Localita</td><td>Provincia</td>
    <td align=center>Condizioni</td><td>Metratura</td><td>Prezzo</td><td>Descrizione</td></tr>")
    
    i=0
    
    Do while NOT RS.EOF 
    
    i=i+1
    
    %>

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.