Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

विजुअल बेसिक 2010 में एसक्यूएल इंजेक्शन

मूल रूप से कहीं भी आप अपने SQL स्टेटमेंट को बनाने के लिए स्ट्रिंग्स को एक साथ जोड़ रहे हैं, विशेष रूप से जो उपयोगकर्ता इनपुट से आता है, असुरक्षित है।

ऐसा करने के बजाय SQL पैरामीटर का उपयोग करें, जिसे आपके SQL कमांड (SQLcmd के पैरामीटर्स प्रॉपर्टी में जोड़ा जा सकता है। यहाँ)।

मैं आपको आपके एक पैरामीटर के साथ एक उदाहरण दिखाऊंगा - अपने SQLCommand टेक्स्ट को इसमें बदलें:

INSERT INTO dbo.Patients(pIDNo, ...)
VALUES(@pIDNo, ...)

जहां @pIDNo पैरामीटर मान के लिए स्ट्रिंग में एक "प्लेसहोल्डर" है, जो SQLParameters संग्रह

फिर आप इस "प्लेसहोल्डर" के समान नाम के साथ एक पैरामीटर जोड़ सकते हैं, और मान (यह आपके लिए प्रदान किए गए मान से प्रकार प्राप्त करेगा)।

यहां पहले का उदाहरण दिया गया है:

SQLcmd.Parameters.AddWithValue("@pIDNo", LabelPNumber.Text)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sp_executesql मेरी क्वेरी को बहुत धीमा कर देता है

  2. SQL सर्वर में विश्लेषण सेवाओं (SSAS) डेटाबेस के सारणीबद्ध मॉडल प्रसंस्करण को स्वचालित करना

  3. वर्चर पैरामीटर के साथ sp_executesql पर कॉल करें

  4. SQL सर्वर में तालिका डुप्लिकेट कैसे करें (पीके और एफके शामिल करें)

  5. एसक्यूएल लाइन ब्रेक काम नहीं कर रहा