Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di naps
    Registrato dal
    May 2001
    Messaggi
    465

    sql - questa sintassi e' corretta?

    salve a tutti volevo sapere se questa sintassi era corretta:


    codice:
    If Session("MM_UserAuthorization") = "2" Then
    recvedischede.Source = "SELECT * FROM archivio WHERE livutente = '" + Replace(recvedischede__livellodue, "'", "''") + "'" AND approvazione = "no"
    il significato dovrebbe essere che:

    se entra utente con livello 2 allora
    seleziona la tabella archivio e fammi vedere solo i record che nella colonna livutente hanno un valore di "esempio 23456" e la colonna approvazione abbia valore "no"

    a me interessa soprattutto l'ultima parte con AND pero' non sono sicuro
    che da AND in poi sia giusto anche perche mi da' questo errore:

    codice:
    Errore di run-time di Microsoft VBScript (0x800A000D)
    Tipo non corrispondente: '[string: "SELECT * FROM archiv"]'
    tanks!

  2. #2

    Re: sql - questa sintassi e' corretta?

    Originariamente inviato da naps

    codice:
    If Session("MM_UserAuthorization") = "2" Then
    recvedischede.Source = "SELECT * FROM archivio WHERE livutente = '" + Replace(recvedischede__livellodue, "'", "''") + "'" AND approvazione = "no"
    Allora, occhio ad apici e virgolette.
    Se fai un Replace per eliminare l'apice serve a poco inserirne due. Prova a sostituirlo con un qualsiasi altro carattere. Inoltre controlla come concateni le stringhe. Prova così:

    codice:
    "SELECT * FROM archivio WHERE livutente = '" & Replace(recvedischede__livellodue, "'", "@") & "' AND approvazione = 'no'"
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  3. #3
    Utente di HTML.it L'avatar di naps
    Registrato dal
    May 2001
    Messaggi
    465

    no..

    no purtroppo mi restituisce errore:

    codice:
    Tipo di errore:
    Errore di compilazione di Microsoft VBScript (0x800A0400)
    Prevista istruzione
    /vedischede.asp, line 238
    "SELECT * FROM archivio WHERE livutente = '" & Replace(recvedischede__livellodue, "'", "@") & "' AND approvazione = 'no'"

  4. #4
    Utente di HTML.it L'avatar di naps
    Registrato dal
    May 2001
    Messaggi
    465

    nuova proposta

    allora se no', potrei provare piu semplicemente senza replace:


    codice:
    If Session("MM_UserAuthorization") = "2" Then
    recvedischede.Source = "SELECT * FROM archivio WHERE livutente = 2 AND approvazione = no
    forse ce' qualche errore di sintassi ma secondo voi potrebbe andare?


  5. #5

    Re: nuova proposta

    Originariamente inviato da naps
    allora se no', potrei provare piu semplicemente senza replace:


    codice:
    If Session("MM_UserAuthorization") = "2" Then
    recvedischede.Source = "SELECT * FROM archivio WHERE livutente = 2 AND approvazione = no
    forse ce' qualche errore di sintassi ma secondo voi potrebbe andare?

    Continui a non completare come si deve la stringa:

    codice:
    "SELECT * FROM archivio WHERE livutente = 2 AND approvazione = 'no'"
    Devi chiudere la stringa con la virgoletta e la query deve contenere i dati di tipo string racchiusi tra apici (dunque se anche livutente è string devi mettere '2').

    Nel tuo DB il campo livutente che tipo di dato contiene?
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  6. #6
    Utente di HTML.it L'avatar di naps
    Registrato dal
    May 2001
    Messaggi
    465
    livutente ha proprieta' testo.

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.