Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Errore di sintassi nell'espressione query... ma non trovo

    Carissimi amici, vi pongo un quesito nel quale ieri sera sono inciampato da inesperto :-)

    Allora... ho applicato i tag nel mio sito, in modo da poter fare delle semplici ricerche... e adesso vorrei fare una cosetta più simpatica con la pubblicazione di una tabella con i tag più cliccati ed utilizzati... ma qui mi sono perso: ho creato una tabella che si chiama TB_TAG nella quale inserisco i TAG da utilizzare poi nell'inserimento dell'articolo...

    ESEMPIO 1: se nell'articolo inerente alla nascita di un nuovo negozio SVG voglio citare i tag SVG TALAMINI ANDREA CARLO, prima vado nella sezione "inserisci tag" poi quando vado a compilare l'articolo, ho una sezione con menù a tendina dove vado a cliccare i tag sopra citati, così l'articolo me li inserisce.

    Quindi ho la FASE 1 dove in una pagina specifica creo i nuovi TAG se non già presenti nell'elenco e la FASE 2 dove li seleziono per l'inserimento nell'articolo.

    L'intoppo lo ho nella FASE 2 perchè mi piacerebbe fare in modo che quando clicco "PUBBLICA ARTICOLO" oltre all'inserimento dell'articolo e la registrazione dei vari campi (titolo, descrizione, luogo, foto, tag, autore, ect ect) in automatico andasse ad aumentare un "+1" al campo del tag inserito, così da tenere un contatore di quante volte lo ho usato.

    Nello specifico ho il codice di pubblicazione dell'articolo:

    codice:
    <%
    Set oConn=Server.CreateObject("ADODB.Connection")
    oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "MDB\tln.mdb"
    Set oRs=Server.CreateObject("ADODB.Recordset")
     
    oRs.Open "tb_articoli",oConn,3,3
    oRs.AddNew
     
    oRs("ar_an")=Request("frm_ar_an") - qui registra il mese esempio gennaio 2011
    oRs("ar_n")="NO" - qui imposta il non pubblicato, quindi non visualizza sul sito reale
    oRs("ar_titolo")=Request("frm_ar_titolo") - registra il titolo
    oRs("ar_tipo")=Request("frm_ar_tipo") - registra tipologia (sport, cultura, ect ect)
    oRs("ar_foto1")=Request("frm_ar_foto1") - registra foto articolo
    oRs("ar_video")=Request("frm_ar_video") - registra video youtube per visualizzazione
    oRs("ar_descrizione")=UCASE(Request("frm_ar_luogo")) & " - " & Replace(Request("frm_ar_descrizione"),chr(13),"
    ") - registra luogo ed articolo
    oRs("ar_scrittore")=Request("frm_ar_scrittore") - autore
    oRs("ar_tag")=Request("frm_tag_01") & " " & Request("frm_tag_02") & " " & Request("frm_tag_03") & " " & Request("frm_tag_04") & " " & Request("frm_tag_05") & " " & Request("frm_tag_06") - i 6 tag obbligatori
    oRs("ar_gg")=Right(CStr(100+Day(Date)), 2) - data giorno
    oRs("ar_mm")=Right(CStr(100+Month(date)), 2) - data mese
    oRs("ar_aa")=Year(date) - data anno  
    oRs("ip_utente")=Request.ServerVariables("REMOTE_ADDR")
    oRs("ora_utente")=Time()
    oRs("data_utente")=Date()
     
    oRs.update
    oRs.close
    oConn.close
    %>
    E fin qui tutto ok e funzionante... poi subito dopo va ad aumentare il contatore di "+1" per ogni tag e qui non funziona... vi posto l'esempio per l'aumento di 1 sul tag 1

    codice:
    <%
    Set oConn=Server.CreateObject("ADODB.Connection")
    oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "MDB\tln.mdb"
    Set oRs=Server.CreateObject("ADODB.Recordset")
     
    sql="SELECT * FROM tb_tag WHERE tag_nome=" & Request("frm_tag_01") 
    oRs.Open sql,oConn,3,3 - qui mi da errore che ti posto di seguito ed è la linea 56
     
    oRs("tag_visite")=oRs("tag_visite") + "1"
     
    oRs.update
    oRs.close
    oConn.close
    %>
    ERRORE:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'tag_rinome=24ORE'.
    /admin/02_articoli_4_nuovo_ok.asp, line 56

    Io volevo impostarlo in modo da dire che quando trova nella tabella il TAG_NOME (es. SVG) ed è uguale a quello che gli passo io, aggiunga +1 al campo tag_visite
    Sai dirmi dove erro? Perchè ho provato in mille modi e controllato tutto... e come vedi da errore il nome lo vede ma mi da errore.

    nella tabella TAG ho un contatore con, un tag_nome col nome, un tag_rinome che è uguale a tag_nome e un campo tag_visite numerico.

    Grazie e scusate il disturbo :-)

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    sql="SELECT * FROM tb_tag WHERE tag_nome='" & Request("frm_tag_01") &"'"
    tag_nome è un campo di testo quini ci vogliono gli apici.

    Roby

  3. #3
    'tag_rinome=24ORE'

    lo dovrai mettere tra apici 'sto 24ORE?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ho dei dubbi pure sul fatto che stai tentando di sommare una stringa...

    oRs("tag_visite")=oRs("tag_visite") + "1"
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Grazie a tutti delle risposte :-)

    Ho modificato il codice con la dicitura

    codice:
    <%
    Set oConn=Server.CreateObject("ADODB.Connection")
    oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "MDB\tln.mdb"
    Set oRs=Server.CreateObject("ADODB.Recordset")
     
    sql="SELECT * FROM tb_tag WHERE tag_nome='" & Request("frm_tag_01") &"'"
    oRs.Open sql,oConn,3,3
     
    oRs("tag_visite")=oRs("tag_visite") + "1"
     
    oRs.update
    oRs.close
    oConn.close
    %>
    E la pagina non mi restituisce più nessun errore... ma non fa la fua funzione di aumentare il contatore di +1 ... come mai?

    Mamma mia che ignorante che sono

  6. #6
    Problema risolto... :-) Il campo era vuoto quindi non sommava, ma adesso tutto regolare graziue a tutti

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Cosi' funziona?
    codice:
    <%
    Set oConn=Server.CreateObject("ADODB.Connection")
    oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "MDB\tln.mdb"
    oConn.execute "UPDATE tb_tab SET tag_visite = tag_visite +1 WHERE tag_nome='" & Request("frm_tag_01") &"'"
    oConn.close
    %>
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.