Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problema query su motore di ricerca

    Salve ragazzi scusate ma non ci sto capendo più nulla con la query peer un motore di ricerca interno al DB.

    Ho utilizzato la stessa query sempre per altri motori e ha sempre sunzionato ma adesso mi da errore:

    Questa è la pagina che manda i dati:

    codice:
    <form action="ricercaProdotti.asp" method="get" name="form2" target="_self" id="form2">
              <input name="descri" type="text" class="testo" id="descri" size="20" />
              <input name="Submit" type="submit" class="testo" value="Invia" />
    </form>
    Mentre questa è la query che utilizzo per mostrare i risultati:

    codice:
    <%
    Dim prodotti__MMColParam
    prodotti__MMColParam = "1"
    If (Request.QueryString("descri") <> "") Then 
    prodotti__MMColParam = Request.QueryString("descri")
    End If
    %>
    <% 
    Dim prodotti 
    Dim prodotti_numRows 
    
    Set prodotti = Server.CreateObject("ADODB.Recordset") 
    prodotti.ActiveConnection = MM_anagrafica_STRING 
    
    strsql = "SELECT * FROM [CMM May 2008] " 
    
    if prodotti__MMColParam <> "" then 
    strsql = strsql & "WHERE country = '" & prodotti__MMColParam & "'"
    strsql = strsql & "OR lastName LIKE '%" & prodotti__MMColParam & "%'" 
    strsql = strsql & "OR firstName LIKE '%" & prodotti__MMColParam & "%'"
    strsql = strsql & "OR tel LIKE '%" & prodotti__MMColParam & "%'"
    end if 
    strsql = strsql & "ORDER BY Prodotto ID" 
    
    prodotti.CursorType = 0
    prodotti.CursorLocation = 2
    prodotti.LockType = 1
    prodotti.Source=strsql
    prodotti.Open()
    
    prodotti_numRows = 0
    
    %>
    Io più la osservo e meno ci sto capendo.

    Potete cortesemente darmi una mano??


  2. #2
    E l'errore cosa dice?

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Metti uno spazio prima delle OR e prima di ORDER BY nella query.

    Roby

  4. #4
    Lerrore che mi restituisce purtroppo non mi aiuta perchè anche fleggando "Visualizza errori http brevi mi fa vedere sempre questo:

    "Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error."

    Roby ho provato mettere lo spazio ma nulla.
    Ecco il link della pagina da dove effettuare la ricerca:

    https://www.plannersgrp.net/anagrafica/home_prova.asp
    e il suo codice:
    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    <%
    Dim raDati
    Dim raDati_numRows
    
    Set raDati = Server.CreateObject("ADODB.Recordset")
    raDati.ActiveConnection = MM_dati_STRING
    raDati.Source = "SELECT * FROM dati ORDER BY id_dati ASC"
    raDati.CursorType = 0
    raDati.CursorLocation = 2
    raDati.LockType = 1
    raDati.Open()
    
    raDati_numRows = 0
    %>
    <%
    Dim Repeat1__numRows
    Dim Repeat1__index
    
    Repeat1__numRows = -1
    Repeat1__index = 0
    raDati_numRows = raDati_numRows + Repeat1__numRows
    %>
    <!D
    Mentre questa è la pagina che riceve i dati e fa la ricerca:

    https://www.plannersgrp.net/anagrafica/home_prova.asp

    questo è il suo codice:
    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    <%
    Dim prodotti__MMColParam
    prodotti__MMColParam = "1"
    If (Request.QueryString("descri") <> "") Then 
    prodotti__MMColParam = Request.QueryString("descri")
    End If
    %>
    <% 
    Dim prodotti 
    Dim prodotti_numRows 
    
    Set prodotti = Server.CreateObject("ADODB.Recordset") 
    prodotti.ActiveConnection = MM_dati_STRING 
    
    strsql = "SELECT * FROM dati " 
    
    if prodotti__MMColParam <> "" then 
    strsql = strsql & "WHERE country = '" & prodotti__MMColParam & "'"
    strsql = strsql & " OR lastName LIKE '%" & prodotti__MMColParam & "%'" 
    strsql = strsql & " OR firstName LIKE '%" & prodotti__MMColParam & "%'"
    strsql = strsql & " OR tel LIKE '%" & prodotti__MMColParam & "%'"
    strsql = strsql & " OR fax LIKE '%" & prodotti__MMColParam & "%'"
    end if 
    strsql = strsql & " ORDER BY Prodotto id_dati ASC" 
    
    prodotti.CursorType = 0
    prodotti.CursorLocation = 2
    prodotti.LockType = 1
    prodotti.Source=strsql
    prodotti.Open()
    
    prodotti_numRows = 0
    
    %>
    <%
    Dim Repeat1__numRows
    Dim Repeat1__index
    
    Repeat1__numRows = 5
    Repeat1__index = 0
    prodotti_numRows = prodotti_numRows + Repeat1__numRows
    %>

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Interessante...
    Stampa la query...

    codice:
    strsql = strsql & " ORDER BY Prodotto id_dati ASC" 
    response.write strsql
    response.end
    vediamo cosa dice.

    Roby

  6. #6
    Il risultato della stampa è:

    SELECT * FROM dati WHERE country = '1'OR lastName LIKE '%1%'OR firstName LIKE '%1%'OR tel LIKE '%1%'OR fax LIKE '%1%' ORDER BY Prodotto id_dati ASC


  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Lo spazio prima di OR non c'è...

    Roby

  8. #8
    Ho inserito lo spazio prima di OR

    SELECT * FROM dati WHERE country = '1' OR lastName LIKE '%1%' OR firstName LIKE '%1%' OR tel LIKE '%1%' OR fax LIKE '%1%' ORDER BY Prodotto id_dati ASC

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ok e l'errore c'è ancora?

    Roby

  10. #10
    Si Roby e purtroppo non mi fa vedere di che tipo è.

    I campi del DB sono tutti testo tranne quello "id_dati" che è contatore.

    Ogni campo è compilato.


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 © 2026 vBulletin Solutions, Inc. All rights reserved.