Visualizzazione dei risultati da 1 a 10 su 10

Discussione: asp e ricerche in db

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    15

    asp e ricerche in db

    ciao a tutti,
    ho un form html con diversi campi che deve funzionare come form di ricerca in una tabella di db access con diversi campi (trattasi di db biblioteca).
    in pratica io ho nel form il campo autore, e ovviamente la ricerca delle parole che metto in quel campo deve essere effettuata nei campi autore del db...
    purtroppo non funziona, mi da errori vari..
    qualcuno ha un esempio che potrei vedere per capirci di più?
    grazie,
    ivy
    Ci sono anche su msn messenger: ivana.dicarlo@gmail.com

    "Chi e' pronto a dar via le proprie liberta' fondamentali
    per comprarsi briciole di temporanea sicurezza
    non merita ne' la liberta' ne' la sicurezza"
    Benjamin Franklin

  2. #2
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Potresti postare gli errori?
    In ogni caso per capirci:
    <form id="admin" name="admin" method="post" action="cerca.asp">
    <input name="autore" type="text" id="autore" />
    <input name=SubmitButton value="Cerca" type=submit />
    </form>

    Dopo di che nella pagina cerca.asp
    ti colleghi al db e
    Recuperi la variabile autore:
    codice:
    strAutore = Request.Form("autore")
    Poi la cerchi all'interno del database
    codice:
    strSQL = "SELECT * FROM tuatabella WHERE Autore = "&strAutore
    Autore è un campo Memo in Access.

    Inizia cosi poi posta che errori ti da.

  3. #3
    codice:
    strSQL = "SELECT * FROM tuatabella WHERE Autore = "&strAutore
    Autore è un campo Memo in Access.
    Così però mi confondi il ragazzo
    Se Autore è un campo Memo (o Testo, che secondo me in questo caso ci sta meglio dato che il nome dell'autore ha un numero limitato di caratteri), ci vogliono gli apici:
    codice:
    strSQL = "SELECT * FROM tuatabella WHERE Autore = '"&strAutore&"'"
    oppure
    codice:
    strSQL = "SELECT * FROM tuatabella WHERE Autore LIKE '%"&strAutore&"%'"
    per ricercare anche porzioni di nome (Camilleri, Camill, Milleri, ecc..)
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  4. #4
    Attenzione alla sql injection
    codice:
    strAutore = Request.Form("autore")
    
    strAutore = replace(strAutore,"'","''")
    
    strSQL = "SELECT * FROM tuatabella WHERE Autore = '"&strAutore&"'"

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    15

    vi posto i codici

    forse riesco a farvi capire, io di asp purtroppo capisco zero..


    CODICE DELLA PAGINA FORM

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Form di ricerca per codici e commentari</title>
    <style type="text/css">
    <!--
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #000066;
    font-weight: bold;
    }
    body {
    background-color: #FFFFFF;
    }
    -->
    </style></head>
    <body>


    PAGINA DI RICERCA PER CODICI E COMMENTARI

    <form name="form1" method="post" action="risult_biblio_codecomm.asp">
    TESTO LIBERO

    <input name="tl_codecomm" type="text" id="tl_codecomm">


    CODICE

    <input name="cod_codecomm" type="text" id="cod_codecomm">


    TIPOLOGIA

    <input name="tip_codecomm" type="text" id="tip_codecomm">


    TITOLO

    <input name="tit_codecomm" type="text" id="tit_codecomm">

    ANNO

    <input name="anno_codecomm" type="text" id="anno_codecomm">


    EDITORE

    <input name="ed_codecomm" type="text" id="ed_codecomm">


    NOTE

    <input name="note_codecomm" type="text" id="note_codecomm">


    COLLOCAZIONE

    <input name="coll_codecomm" type="text" id="coll_codecomm">




    <input name="Submit_codecomm" type="submit" id="Submit_codecomm" value="Ricerca Codici e Commentari">
    <input name="cancella_codecomm" type="reset" id="cancella_codecomm" value="Cancella">


    </form>
    </body>
    </html>

    CODICE PAGINA ASP

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Risultati ricerca codici_commentari</title>
    <style type="text/css">
    <!--
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #000066;
    }
    body {
    background-color: #FFFFFF;
    }
    -->
    </style></head>
    <body>


    RISULTATI PER LA RICERCA IN CODICI E COMMENTARI

    Torna al form di ricerca



    Non hai trovato il libro che cercavi?

    Prova a ripetere la ricerca modificando i termini che hai utilizzato, oppure verifica la

    disponibilit&agrave; del libro inviando una mail a Assistenza Biblioteca </p>


    </p>
    <table border=1>
    <tr>
    <td width="151">Parole chiave</td>
    <td width="78">Codice</td>
    <td width="133">Tipologia</td>
    <td width="199">Titolo</td>
    <td width="56">Anno</td>
    <td width="158">Editore</td>
    <td width="198">Note</td>
    <td width="74">Collocazione</td>
    </tr>
    <%
    '' Connessione al DB
    myDB = "..\..\db\cat_biblio.mdb"
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(myDB)
    '' Lavoriamo sul Recordset
    Dim rs
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.cursorlocation = 3
    ' Struttura per creare il filtro per l'estrazione dei dati
    sSQLWhere = "where 1=1"
    if request("tl_codecomm") <> "" then
    sSQLWhere = sSQLWhere & " AND Parole chiave like '%" & replace(Request("tip_codecomm"),"'","''") & "%'"
    end if
    if request("cod_codecomm") <> "" then
    sSQLWhere = sSQLWhere & " AND Codice=" & replace(Request("cod_codecomm"),"'","''")
    end if
    if request("tip_codecomm") <> "" then
    sSQLWhere = sSQLWhere & " AND Tipologia like '%" & replace(Request("tip_codecomm"),"'","''") & "%'"
    end if
    if request("tit_codecomm") <> "" then
    sSQLWhere = sSQLWhere & " AND Titolo like '%" & replace(Request("tit_codecomm"),"'","''") & "%'"
    end if
    if request("anno_codecomm") <> "" then
    sSQLWhere = sSQLWhere & " AND Anno=" & replace(Request("anno_codecomm"),"'","''")
    end if
    if request("ed_codecomm") <> "" then
    sSQLWhere = sSQLWhere & " AND Editore like '%" & replace(Request("ed_codecomm"),"'","''") & "%'"
    end if
    if request("note_codecomm") <> "" then
    sSQLWhere = sSQLWhere & " AND Note like '%" & replace(Request("note_codecomm"),"'","''") & "%'"
    end if
    if request("coll_codecomm") <> "" then
    sSQLWhere = sSQLWhere & " AND Collocazione like '%" & replace(Request("coll_codecomm"),"'","''") & "%'"
    end if
    if request("tl_codecomm") <> "" then
    sSQLWhere = sSQLWhere & ""
    end if
    rs.Open "Select * from codici_commentari " & sSQLWhere, conn, 0, 1
    do until rs.EOF
    %>
    <tr>
    <td><%=rs("Parole chiave")%></td>
    <td><%=rs("Codice")%></td>
    <td><%=rs("Tipologia")%></td>
    <td><%=rs("Titolo")%></td>
    <td><%=rs("Anno")%></td>
    <td><%=rs("Editore")%></td>
    <td><%=rs("Note")%></td>
    <td><%=rs("Collocazione")%></td>
    </tr>
    <%
    rs.MoveNext
    loop
    rs.Close
    %>
    </table>


    </p>
    </body>
    </html>





    Secondo me di sbagliato ci sono le parti come ad esempio "tl_codecomm" etc... quelli sono per me i nomi istanza dei campi del form...

    se volete maggiori spiegazioni possiamo sentirci anche via messenger...
    grazie ragazzi
    Ci sono anche su msn messenger: ivana.dicarlo@gmail.com

    "Chi e' pronto a dar via le proprie liberta' fondamentali
    per comprarsi briciole di temporanea sicurezza
    non merita ne' la liberta' ne' la sicurezza"
    Benjamin Franklin

  6. #6
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Originariamente inviato da ivanhalen
    Così però mi confondi il ragazzo
    Se Autore è un campo Memo (o Testo, che secondo me in questo caso ci sta meglio dato che il nome dell'autore ha un numero limitato di caratteri), ci vogliono gli apici:
    codice:
    strSQL = "SELECT * FROM tuatabella WHERE Autore = '"&strAutore&"'"
    oppure
    codice:
    strSQL = "SELECT * FROM tuatabella WHERE Autore LIKE '%"&strAutore&"%'"
    per ricercare anche porzioni di nome (Camilleri, Camill, Milleri, ecc..)
    Hai ragione, mi ero un attimo confuso... stavo prendendo spunto da una mia pagina... in effetti avevo gli apici anche io, ma avendola scritta a memoria me ne ero scordato...
    ivy come va?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    15

    hmm...

    va che faccio un po' fatica...
    non ritrovo il suggerimento che mi avete dato nel codice che mi è stato dato come esempio...
    scusatemi ma proprio di asp io zero, sono costretta ad usarlo perchè il server supporta solo quello...
    Ci sono anche su msn messenger: ivana.dicarlo@gmail.com

    "Chi e' pronto a dar via le proprie liberta' fondamentali
    per comprarsi briciole di temporanea sicurezza
    non merita ne' la liberta' ne' la sicurezza"
    Benjamin Franklin

  8. #8
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Ma dove scrivi tutti gli:
    if request("tl_codecomm") <> "" then

    Hai provato a mettere:
    if request.form ("tl_codecomm") <> "" then

    Scrivi che errore ti da quando eseguila pagina.

    Se puoi allega i due file in zip

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    15

    eccoli

    come li allego?
    non accetta l'estensione .zip, nemmeno se lo rinomino in .jpg
    Ci sono anche su msn messenger: ivana.dicarlo@gmail.com

    "Chi e' pronto a dar via le proprie liberta' fondamentali
    per comprarsi briciole di temporanea sicurezza
    non merita ne' la liberta' ne' la sicurezza"
    Benjamin Franklin

  10. #10
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Ah è vero dimenticavo che non si possono mandare gli allegati cosi

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.