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

 

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

Πως εκτελώ SQL Query με παράμετρο?

Îåêßíçóå áðü ôï ìÝëïò Mastermind. Τελευταία δημοσίευση από το μέλος constantine-55 στις 27-09-2009, 16:18. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  24-09-2009, 13:02 53935

    Πως εκτελώ SQL Query με παράμετρο?

    Καλημερα παιδια.Εχω και εγω ενα προβλημα με την MySql.Γραφω ενα προγραμμα σε C Sharp και σαν βαση εχω MySql.
    Θελω να κανω Sql Query με μεταβλητη.Δηλαδη π.χ
    Select Phone From Table Where Name ='a';
    Το a ειναι η μεταβλητη και ειναι τυπου string.
    To εχω δοκιμασει και με το executeNonQuery kai me to executeScalar
    Αν μπορει καποιος να βοηθησει :)
    Ευχαριστω!!!!

  •  24-09-2009, 13:21 53937 σε απάντηση της 53935

    Απ: Πως εκτελώ SQL Query με παράμετρο?

    Καταρχήν δεν αναφέρεις που ακριβώς είναι το πρόβλημα. Παίρνεις κάποιο μήνυμα λάθους; Δεν επιστρέφει τίποτα το query; Χτυπάει ο κώδικας στο compilation; Όσο πιο αναλυτικός είσαι, τόσο καλύτερα μπορούμε να βοηθήσουμε.

    Όπως και να έχει, κοίτα εδώ http://msdn.microsoft.com/en-us/library/tyy0sz6b.aspx για να ξεκινήσεις.


    Vir prudens non contra ventum mingit
  •  24-09-2009, 13:29 53938 σε απάντηση της 53937

    Απ: Πως εκτελώ SQL Query με παράμετρο?

    Από ότι γράφεις φαντάζομαι εννοείς πως δημιουργείς δυναμικά ένα query σαν αυτύ που περιέγραψες. Μπορείς να περνάς δυναμικές τις τιμές με τη χρήσtη SqlParameter. Λίγο πιο αναλυτικό και εύκολο παράδειγμα από αυτό που έδωσε ο KelMan μπορείς να βρεις στο http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson06.aspx

    Γιώργος Σακαλής
  •  24-09-2009, 20:46 53945 σε απάντηση της 53935

    Απ: Πως εκτελώ SQL Query με παράμετρο?


    φιλε μου δεν λες πολλα πραγματα και λεπτομερειες αν προκειτε για datatable κτλ αλλα οπως και να χει AN πεσω μεσα η οχι δεν ξερω παρε μια μικρη ιδεα ακομα ομως το γραφω σε vb.net το κανεις ευκολα c#.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim myVariable As String
    
    'as ypothesoume oti gemiseis to string apo ena textbox oti exei grammeno ekeini ti stigmi mesa tou
    myVariable= me.textbox.text
    
    'edo den xero pos prospatheis na trexeis to Query alla as paroume oti exeis kanei connection ktl ktl
    ' kai eise sti fasi tou ExecuteNonQuery
    
    balblabla.ExecuteNonQuery(string.format("SELECT Phone FROM Table WHERE Name='{0}'",myVariable),blablabla)
    
    'i string.format perna mesa se {0},{1},{2} oses antistixes metavlites thes dinamika kai tis kanei ena enieo string oste na to ekteleseis meta esy os query. prosoxi sto paradigma mou exo to 0 mesa se autakia giati prokite gia string allios den xriazete.
    
    
    ελπιζω να έπεσα μεσα στο τι θες να κανεις.


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  24-09-2009, 20:59 53946 σε απάντηση της 53945

    Απ: Πως εκτελώ SQL Query με παράμετρο?

    Johnny, πράγματι έπεσες εντελώς έξω. Αυτό που περιγράφεις δεν είναι εκτέλεση SQL με παράμετρο, είναι η δημιουργία ενός SQL string και η εκτέλεση του ΧΩΡΙΣ παράμετρο. Είναι ο χειρότερος δυνατός τρόπος να εκτελέσεις ένα statement και σε αφήνει εντελώς έκθετο σε SQL Injection attacks. Για σκέψου, τί θα γίνει αν ο χρήστης δώσει στο textbox το παρακάτω?

    '; drop table customer; --
    To statement που έγραψα είναι κάτι που οποιοδήποτε script kiddie θα δοκιμάσει πρώτο για να δει αν μπορεί να σου διαλύσει τη βάση.
    Το string concatenation είναι άκρως επικίνδυνο και δεν πρέπει ούτε για αστείο να χρησιμοποιείται σε εφαρμογές - ούτε καν για demo, 
    πόσο μάλλον σε εμπορικές εφαρμογές ή web sites.

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  25-09-2009, 10:05 53955 σε απάντηση της 53946

    Απ: Πως εκτελώ SQL Query με παράμετρο?


    Surpriseαυτός που μου το έμαθε last year μάλλον δεν το γνώριζε αυτό.... ευτυχώς όσες φορές το έκανα χρήση το έκανα με τέτοιο τρόπο που το {0} δεν είναι ανοικτό στον χρήστη να βάλει οτι θέλει.

    Παναγιώτη σε ευχαριστώ για την "παρατήρηση" δεν το γνώριζα αυτό. πριν μου διξουν αυτο τον τροπο για ποιο "γρήγορα", έγραφα ετσι με @parameter http://vbnetsample.blogspot.com/2007/10/using-sqlparameter-class.html και πέρυσι μου έδειξε αυτο ενας "senior" developer, φαντάστηκα οτι οτι ήταν καλύτερο...Tongue Tied

    tnx man.


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  25-09-2009, 10:32 53956 σε απάντηση της 53955

    Απ: Πως εκτελώ SQL Query με παράμετρο?

    Senior? xaxa, πλάκα μας κάνει?



  •  27-09-2009, 16:18 54020 σε απάντηση της 53935

    Απ: Πως εκτελώ SQL Query με παράμετρο?

    Δες εδώ για Query με @parameter το οποίο  σου βρίσκει ότι αρχίζει από το string που εισάγεις, είναι σε VB αλλά πιστεύω ότι θα βοηθήσει

     

     

    How Do I: Create a Search Form?

     

    Visual Basic programmers will see how to create a search form with a parameterized query using the Search Criteria Builder in Visual Studio

     

    http://msdn.microsoft.com/en-us/vbasic/bb643828.aspx

     

     

     

     


    I hear and I forget. I see and I remember. I do and I understand
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems