Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Query non funzionante

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262

    Query non funzionante

    Salve giovanotte/i
    allora salto al dunque della questione!
    In pratica ho costruito una query d'interrogazione ad una tabella e funziona nel momento in cui uso un solo campo della tabella, mentre se la query è più complessa (cioè interrogga più campi del DB) non funziona, cioè non restituisce nessun valore.

    Ad similia et majora

    </table></td>
    </tr>
    <tr>
    <td height="34" colspan="3" align="center" valign="top">



    <TABLE WIDTH="877" CELLPADDING="4" CELLSPACING="4" BORDER="0" align="left"><TR>
    <TD width="966" height="124" align="center" valign="baseline"> <font face="Book antiqua">
    <%
    iPageSize = 10 'NUMERO RECORD PER PAGINA

    If Request.QueryString("page") = "" Then
    iPageCurrent = 1
    Else
    iPageCurrent = CInt(Request.QueryString("page"))
    End If



    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("../database/cimitero.mdb")

    sezione = request("sezione")
    numero = request("numero")
    segnatura = request("segnatura")
    data_ins = request("data_ins")

    numeroordine= request("numeroordine")
    dataconcessione= request ("dataconcessione")
    cognomeenome= request("cognomeenome")
    figliodifu= request("figliodifu")
    defunto= request("defunto")
    tiposepoltura= request("tiposepoltura")
    topografia= request("topografia")
    esito= request("esito")



    %>
    <%
    strsql= "SELECT * FROM cimitero where sezione LIKE '%"&sezione&"%' AND numero LIKE '%"&numero&"%' AND segnatura LIKE '%"&segnatura&"%'AND data_ins LIKE '%"&data_ins&"%' AND numeroordine LIKE '%"&numeroordine&"%' AND cognomeenome LIKE '%"&cognomeenome&"%' AND figliodifu LIKE '%"&figliodifu&"%' AND defunto LIKE '%"&defunto&"%' AND tiposepoltura LIKE '%"&tiposepoltura&"%' AND topografia LIKE '%"&topografia&"%' AND esito LIKE '%"&esito&"%' "


    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.PageSize = iPageSize
    objRS.CacheSize = iPageSize
    objRS.Open strSQL, objConn, adOpenStatic, adLockReadOnly, adCmdText

    reccount = objRS.recordcount
    iPageCount = objRS.PageCount

    If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
    If iPageCurrent < 1 Then iPageCurrent = 1

    If iPageCount = 0 Then
    Response.Write "

    <table><td><font face='Book antiqua' size='2' color='#000000'>Non sono stati trovati documenti corrispondenti.

    <a href=ricerca_avanzata.asp>Torna alla ricerca</a>
    </td></table></p>"
    Else
    objRS.AbsolutePage = iPageCurrent
    iRecordsShown = 0
    %>
    </font>
    <table width="80%" border="0" align="center" cellpadding="4" cellspacing="4" bgcolor="#C1DAFF" "#C1DAFF">

    <td WIDTH="7%" height="43" align="center" valign="middle" bgcolor="cccccc"><div align="center" class="Stile9"><font size="2" color="red">N&deg;</font></div></td>
    <td WIDTH="34%" align="center" valign="middle" bgcolor="cccccc"><div align="center" class="Stile9"><font size="2" color="red">Cognome e nome concessionario</font></div></td>
    <td WIDTH="20%" align="center" valign="middle" bgcolor="cccccc"><div align="center" class="Stile9"><font size="2" color="red">Data</font> concessione</div></td>
    <td WIDTH="15%" align="center" valign="middle" bgcolor="cccccc"><div align="center" class="Stile9"><font color="red" size="2">Busta</font></div></td>
    <td WIDTH="17%" align="center" valign="middle" bgcolor="cccccc"><div align="center" class="Stile9 Stile11 Stile9">Modifica
    </div></td>

    </tr>


    <%
    'SI VISUALIZZA IL CONTENUTO DELLA STRINGA SQL
    'ALL'INTERNO DELLA TABELLA PRIMA DEFINITA
    cont=1
    Do While iRecordsShown < iPageSize AND Not objRS.EOF
    Dim rig, bg
    col = rig + 1
    If rig Mod 2 = 0 then

    Else

    End if
    %>


    <%

    Response.Write "<tr bgcolor = " & bg & "><td bgcolor= '#0066FF'><font color='red' face='Book antiqua' size='2' align='centre' >" & (iPageSize*iPageCurrent)-iPageSize+Cont & "</font></td>"


    Response.Write"<td bgcolor='#cccccc' align='left'><font color='red' face='Book antiqua' size='2' align='centre'><a href='cim_doc.asp?id="&objRS("id")&"'>"&objRS("cog nomeenome")&"</font></td>"

    Response.Write "<td bgcolor= '#0099FF' align='centre' ><font color='#ffffff' face='Book antiqua' size='2'>" & objRS("dataconcessione") & "</font></td>"
    Response.Write "<td bgcolor= '#0099FF' align='centre' ><font color='#ffffff' face='Book antiqua' size='2'>" & objRS("numero") & "</font></td>"
    Response.Write "<td bgcolor= '#0066FF' align='centre'> <form id='mod_delib' name='mod_delib' method='post' action='mod_cim.asp'><label><input name='id' type='hidden' id='id' value= "& objRS("id") &" /></label><input type='submit' value='Modifica documento'></form></td>"


    Cont = Cont + 1
    'POSIZIONAMENTO ALLA RIGA SUCCESSIVA DEL DB
    iRecordsShown = iRecordsShown + 1
    objRS.MoveNext
    Loop
    'PULIZIA DEGLI OGGETTI ADO
    objRS.Close
    Set objRS = Nothing
    %>
    </table>
    <table border="0" align="center">
    <tr valign="middle">
    <td width="50%" align="center" valign="middle"><font face="Book antiqua" size="1" color="#000000"> [
    <%if iPageCurrent-2 > 0 AND iPageCurrent > 2 then%>
    [img]../img/first.gif[/img]
    <%end if%>
    <%if iPageCurrent > 1 then%>
    [img]../img/pre.gif[/img]
    <%end if%>
    <%if iPageCount > 2 then
    if iPageCurrent-2 < 1 then da_pag = 1 else da_pag = iPageCurrent-2
    if iPageCurrent+2 > iPageCount then fino_a_pag = iPageCount else fino_a_pag = iPageCurrent+2
    else
    da_pag = 1
    fino_a_pag = iPageCount
    end if%>
    <%for i = da_pag to fino_a_pag%>
    <%if i = iPageCurrent then%>
    <font color="red"><%=i%></font>
    <%else%>
    <%end if%>
    <%next%>
    <%if iPageCurrent > 0 AND iPageCurrent < iPageCount then%>
    [img]../img/next.gif[/img]
    <%end if%>
    <%if iPageCurrent+1 < iPageCount then%>
    [img]../img/last.gif[/img]
    <%end if%>
    ]
    </font></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><center>
    <font color="#000000" size="1" face="Book antiqua"> Pagina <%=iPageCurrent%></font> <font color="#000000" size="1" face="Book antiqua">di <%=iPageCount%></font>
    </center></td>
    </tr>
    </table> </td>
    </tr>
    </table>


    <font face="Book antiqua">
    <%End if%>
    </font><font face="Book antiqua">
    <%If ipagecount <> 1 Then%>
    </font><font face="Book antiqua">
    <%end if%>
    <%
    objConn.Close
    Set objConn = Nothing
    %>
    </font></p>


    </p>



    </p>


    </p></td>
    </tr>

    <tr>
    <td width="116" height="21" rowspan="2"> <p align="center" class="Stile7">[img]../img/lic.gif[/img]</p></td>
    <td width="317"><p align="center" class="Stile9">&copy; Archivio storico - Comune di Monreale - 2008 </p> </td>
    <td height="9" class="Stile8"><div align="center" class="Stile9">
    <p align="center" class="Stile9">Progetto grafico, sviluppo software</p>
    </div></td>
    </tr>
    <tr>
    <td><div align="center"><span class="Stile9">Visualizzazione 1024x768 </span></div></td>
    <td height="19" class="Stile8"><div align="center"><span class="Stile9">e manutenzione a cura dell' ASCM</span></div></td>
    </tr>
    </table>


    <map name="Map" id="Map">
    <area shape="rect" coords="8,5,754,202" href="../index.asp" alt="HOME ASCM" />
    </map></body>
    </html>

    [/CODE]

  2. #2
    stalin, lo facciamo un po' di deBBug?

    ----------------------------------------------------
    impariamo a fare un po' di debug

    *subito* dopo la composizione della stringa SQL metti

    Response.Write "maGGica SQL...: " & strsql
    Response.Flush

    poi posta quello che viene a video
    ----------------------------------------------------

    e, poi, santa donna, perché ci devi affliggere con tutta quella spatafiata di codice, quando il problema, a tuo dire, è nella sola query?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    santa patata e
    perdinci bacco
    ha tnt ragione.

    Response.Write "(?qui metto la query?) " & strsql
    Response.Flush

    ora provvedo

  4. #4
    Originariamente inviato da nilats
    santa patata e
    perdinci bacco
    ha tnt ragione.

    Response.Write "(?qui metto la query?) " & strsql
    Response.Flush

    ora provvedo
    oh, tu je dici "*subito* dopo la composizione della stringa SQL metti" (in italiano, a parer mio, ma accetto critiche), e quello te chiede Response.Write "(?qui metto la query?) " & strsql

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    ok capo, era sl un piccolo errore di valutazione.

    ecco cosa mi dice il debug:

    SELECT * FROM cimitero where sezione LIKE '%Tutte%' AND numero LIKE '%%' AND segnatura LIKE '%%'AND data_ins LIKE '%%' AND numeroordine LIKE '%%' AND cognomeenome LIKE '%%' AND figliodifu LIKE '%gioè%' AND defunto LIKE '%%' AND tiposepoltura LIKE '%%' AND topografia LIKE '%%' AND esito LIKE '%%'
    ADODB.Recordset error '800a0bb9'

    Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.

    /Archivio storico comunale/txt/motore_cim.asp, line 205
    posto ancora PARTE del codice:

    codice:
    <%
    
    Response.Write " SELECT * FROM cimitero where sezione LIKE '%"&sezione&"%' AND numero LIKE '%"&numero&"%' AND segnatura LIKE '%"&segnatura&"%'AND data_ins LIKE '%"&data_ins&"%' AND numeroordine LIKE '%"&numeroordine&"%' AND cognomeenome LIKE '%"&cognomeenome&"%' AND figliodifu LIKE '%"&figliodifu&"%' AND defunto LIKE '%"&defunto&"%' AND tiposepoltura LIKE '%"&tiposepoltura&"%' AND topografia LIKE '%"&topografia&"%' AND esito LIKE '%"&esito&"%' " & strsql
    Response.Flush
    			Set objRS = Server.CreateObject("ADODB.Recordset")
    			objRS.PageSize = iPageSize
    			objRS.CacheSize = iPageSize
    (linea 205)	    objRS.Open strSQL, objConn, adOpenStatic, adLockReadOnly, adCmdText
    
    			reccount = objRS.recordcount
    			iPageCount = objRS.PageCount
    
    			If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
    			If iPageCurrent < 1 Then iPageCurrent = 1
    
    			If iPageCount = 0 Then
    				Response.Write "
    
    <table><td><font face='Book antiqua' size='2' color='#000000'>Non sono stati trovati documenti corrispondenti.
    
    <a href=ricerca_avanzata.asp>Torna alla ricerca</a></td></table></p>"
    			Else
    				objRS.AbsolutePage = iPageCurrent
    				iRecordsShown = 0
    				%>

  6. #6
    stallino, concentriamoci sulla query.

    1. Scrivere
    SELECT elenco_campi FROM Tabella WHERE campo LIKE '%%'
    e
    SELECT elenco_campi FROM Tabella
    è la stessa cosa, si produce lo stesso risultato. Con la seconda forma la macchina soffre infinitamente meno (pensaci...)

    2. controlla i nomi di campo, che siano tutti giusti

    3. controlla di aver fatto WHERE coerenti (senza apici su numeri, e con apici su stringhe)

    4. controlla questa
    sezione LIKE '%Tutte%'

    buon lavoro e mettici un po' di attenzione

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    ok capo
    e grazie x la tua cordiale gentilezza
    (forma italiana un po azzardata ma efficace)
    ciauz

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.