Visualizzazione dei risultati da 1 a 4 su 4

Discussione: ricercare più parole

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687

    ricercare più parole

    Ciao,
    vorrei realizzare un motore di ricerca interno e ho cercato tra i post vecchi trovando questo esempio funzionante:
    http://www.oscarjsweb.com/topic.asp?topid=27

    però non volevo fare copia incolla ma volevo capire come funziona la ricerca di più parole inserite contemporaneamente nel campo di ricerca per poi adattare un mio script.

    il nocciolo è questo:

    set conn = server.createobject("adodb.connection")
    conn.open "driver={microsoft access driver (*.mdb)};dbq="&_
    server.mappath("/cartella/database.mdb")

    sql = "select * from tabella_ricerca where"

    ArrSearch = Split(search)
    x = 0
    for each Word In ArrSearch

    If Not x = UBound(ArrSearch) Then
    sql = sql & " Keywords like '%" & word & "%' and"
    Else
    sql = sql & " Keywords like '%" & word & "%'"
    End If

    x = x + 1
    Next

    ma nel mio script:


    .......

    Dim rsa, cna, sqla
    Set rsa = Server.CreateObject("ADODB.Recordset")
    Set cna = Server.CreateObject("ADODB.Connection")
    cna.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("database/cnasp.mdb")
    Set rsa.ActiveConnection = cna
    rsa.CursorType = adOpenKeyset
    rsa.LockType = adLockOptimistic
    sqla = "select * from comunicatistampa where"
    ArrSearch = Split(search)

    for each Word In ArrSearch
    x=0
    If Not x = UBound(ArrSearch) Then
    sqla = sqla & " testo like '%" & word & "%' and"
    Else
    sqla = sqla & " testo like '%" & word & "%'"
    End If
    x = x + 1
    Next





    rsa.Open sqla, cna

    rsa_numRows = 0

    ecc
    ......

    nel caso di ricerche con più parole mi costruisce correttamente la nuova sql ma in fondo rimane in and che genera ovviamente un errore:
    Microsoft JET Database Engine (0x80040E14)
    Syntax error (missing operator) in query expression 'testo like '%costo%' and testo like '%acciaio%' and'.

    non capisco come ovviare.

    Grazie a chi mi darà una dritta

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    adesso mi funziona.

    come non detto.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    mi puoi spiegare anche ame come lo hai adattato?!
    anch'io devo fare un ricerca in un database per parole chiave...
    il risultato però deve essere il valore di un campo (cinlink) che ha nei campi prop1, prop2...prop4 valori che sono uguali alle variabili che gli passo da un file flash... la condizione di estrazione però non è che tutti i campi prop devono essere uguali alle variabili, ma che almeno due di essi siano uguali...

    spero tu mi possa essere di aiuto

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    up

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.