Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Syntax error (missing operator) in query expression '

Îåêßíçóå áðü ôï ìÝëïò Hector. Τελευταία δημοσίευση από το μέλος manosB στις 25-06-2008, 17:16. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  25-06-2008, 09:36 43047

    Syntax error (missing operator) in query expression '

    Καλημέρα σε ολους.

    Γνωρίζω πως είναι γελοία η ερώτηση αλλά θα την κάνω προκειμένου να ξεκολλήσω επιτέλους...

    Εκτελώ μία DELETE SQL εντολή σε VBA του στυλ
    "Delete (όνομα linked πίνακα) where ID = " & txtID.Text & ""
    και μου χτυπάει το error του Θέματος.

    Το πεδίο ID έιναι Int.

    Να σημειώσω πως στην ίδια εφαρμογή εκτελώ και SELECT, INSERT καθώς και UPDATE με τον ίδιο ακριβώς τρόπο στον ίδιο πίνακα...
    (π.χ Update (όνομα linked πίνακα) set ID = " & txtID.Text & " WHERE ID is NULL)

    Θέμα permissions δεν παίζει.

    Ευχαριστώ.
  •  25-06-2008, 09:45 43048 σε απάντηση της 43047

    Απ: Syntax error (missing operator) in query expression '

    Ξέχασες το FROM

    Delete from (όνομα πίνακα) where id=...........

    Manos
  •  25-06-2008, 09:53 43049 σε απάντηση της 43048

    Απ: Syntax error (missing operator) in query expression '

    Σα νέος που είμαι, δεν ήξερα ότι η VBA δεν την παλεύει...

    Στον SQL Server παίζει μια χαρά και χωρίς FROM !!!

    Ευχαριστώ πάντως Smile
  •  25-06-2008, 10:54 43052 σε απάντηση της 43049

    Απ: Syntax error (missing operator) in query expression '

    Αν λύθηκε η απορία σου άλλαξε το status της δημοσίευσης. Τσέκαρε και τους κανονισμούς του φόρουμ.

    Manos
  •  25-06-2008, 16:50 43068 σε απάντηση της 43047

    Απ: Syntax error (missing operator) in query expression '

    Το statement σου αποτελεί τρύπα για sql injection επιθέσεις. Ψάξε σε αυτό το forum για sql injection ή/και διάβασε στην wikipedia. Είναι τόσο κλασικό security threat που υπάρχει κι εκεί.

    Εν ολίγης, αν ο χρήστης σου γράψει μέσα στο textbox αντί για το ID το εξής: '5; DELETE FROM CUSTOMER' τότε θα διαγράψει όλα τα δεδομένα του πίνακα με όνομα CUSTOMER... και φυσικά και την εγγραφή 5.


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  25-06-2008, 16:57 43069 σε απάντηση της 43068

    Απ: Syntax error (missing operator) in query expression '

    Δημήτρη, απόλυτα σωστή η παρατήρηση, όμως παρατήρησα οτι ο φίλος μας γράφει VBA σε access, που σημαίνει οτι πιθανώς να θέλει να κάνει ένα access front-end πιθανώς για χρήση σε κάποιο lan, οπου τα sql injections ίσως να μην αποτελούν πρόβλημα λόγω του κλειστού κύκλου των χρηστών της εφαρμογής. (Υπόθεση κάνω πάντα). Δραττομαι της ευκαιρίας πάντως για να πω οτι η προστασία από τα sql injections είναι πλέον MUST με όλα αυτά τα bots που κυκλοφορούν εκει έξω, και γιατί οχι, ακόμα και σε intranet καταστάσεις.

     


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  25-06-2008, 17:16 43071 σε απάντηση της 43068

    Απ: Syntax error (missing operator) in query expression '

    Cap σωστά τα λες γενικά  αλλά μια και το έφερε η συζήτηση να πούμε:
    Στο συγκεκριμένο παράδειγμα επειδή νομίζω ότι είναι access το query δεν μπορεί να γίνει sql injection. Λόγω του συντακτικού των queries στην access το sql injection είναι πολύ δύσκολο.  Βέβαια εννοείτε πως αν φύγει από access και vba το sql injection πρέπει πάντα να μας απασχολεί.

    Manos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems