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

    problemi con le stringhe

    Ho il seguente problema, devo ritrovare in un database access interfacciato in Internet con asp delle stringhe che prima assemblo con stringa1_stringa2 e poi disassemblo:
    codice:
    <a href=info.asp?Insegnamento="&replace(fascia9," ","_")&"><%=fascia9%></a>

    poi nel file info.asp
    ho il seguente codice:
    <%Insegnamento=request.querystring("Insegnamento ")
    Insegnamento1=replace(Insegnamento,"_"," ")
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
    OBJdbConnection.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("data.mdb")
    sql = "SELECT * FROM Users WHERE Insegnamento LIKE '%"&Insegnamento1&"%'"
    Set RS=OBJdbConnection.Execute(sql)
    %>


    il problema è che se ho due insegnamenti tipo:
    Analisi delle decisioni
    e
    Analisi delle decisioni e geometrie
    allora me li trova tutti e due.
    ho provato a non usare LIKE ma = ma non riesco, non funziona!
    Qualcuno mi può aiutare?
    Grazie.

  2. #2
    codice:
    "SELECT * FROM Users WHERE Insegnamento = '" & Insegnamento1 & "'"
    Provala prima su Access (usi Access? :master: ).
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    io continuerei ad usare like senza le %:
    codice:
    sql = "SELECT * FROM Users WHERE Insegnamento LIKE '" & Insegnamento1 & "'"
    xxx

  4. #4

    funziona!

    ho provato a scrivere il codice:
    sql = "SELECT * FROM tblUsers WHERE Insegnamento = '" & Insegnamento1 & "'"
    e funziona!

    Io non ci riuscivo perché scrivevo:
    sql = "SELECT * FROM tblUsers WHERE Insegnamento = " & Insegnamento1 & " "
    dove posso trovare materiale che specifichi queste cose?
    Io ho realizzato un sito di prenotazione on-line anche abbastanza complesso, nel senso che vado a verificare se una determinata fascia oraria è prenotata o meno e poi do la possibilità di prenotarsi ad un utente...
    Però devo dire che non sono un'esperta visto che per mancanza di tempo cerco soltanto il materiale che mi serve su Internet.
    Mi piacerebbe perfezionarmi, qualcuno mi potrebbe suggerire qualche sito o qualche libbro con tutta la teoria sull'asp?
    Se non è permesso su questo sito fornire suggerimenti di questo tipo, mi scuso, sto solo chiedendo se si può!
    Subroutine72

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Come non si può Certo...
    In libreria:
    - ASP 3.0 - Apogeo
    - Commercio elettrinco con ASP - Apogeo

    Lì impari le basi, il resto è internet dove trovi tutto.

    Nel tuo caso specifico non mi sembra che nel primo esempio tu utilizzassi solo le virgolette senza gli apici.
    Ad ogni modo la differenza è:
    - per campi di tipo testo ci vogliono apici e virgolette
    - per campi numerici ci vogliono solo le virgolette
    - per campi data/ora ci vuole #

    Tutto ciò per Access. Le date con altri db vengono trattate come campi testo di solito, quindi apici e virgolette nelle query.

    Roby

  6. #6

    ti ringrazio...

    ...per i suggerimenti!
    e sopratutto per avermi chiarito queste differenze che mi saranno molto utile!
    Ciao, Sabrina.

  7. #7

    tanto per capirci qualcosa!

    inseguito al tuo chiarimento:
    - ' " Stringa " ' : per le stringhe;
    - " 2 ": per i numeri;
    - # 29/04/05 # : per le date.

    ho provato a modificare il codice del mio database per renderlo più coretto anche se funzionava, ma forse non ho capito qualcosa:
    il vecchio codice era:

    <%
    DataC=request.form("DataC")
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
    OBJdbConnection.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("prenotazioni.mdb")
    sql = "SELECT * FROM tblPrenotaA1 WHERE DataC LIKE ' %"&DataC&"% '"
    Set RS=OBJdbConnection.Execute(sql)%>

    però DataC lo leggo dal database e lo passo nel file precedente cosi:

    <input type="hidden" name="DataC" value="<%=DataC%>">

    e cosi funziona!

    Ho provato a modificare nel modo seguente perché pensavo che il mio codice non era proprio corretto?
    e ho scritto:
    sql = "SELECT * FROM tblPrenotaA1 WHERE DataC = # &DataC& #"

    ma mi da il seguente errore:

    Errore di sintassi nella data nell'espressione della query 'DataC = #&DataC&#'.

    Ho scritto poi per tentativi:
    sql = "SELECT * FROM tblPrenotaA1 WHERE DataC = # "&DataC&" #"

    e funziona:
    quindi per le date, ci vogliono sia virgolette che cancelletto?

    Grazie, Sabrina.

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.