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

अमान्य स्तंभ नाम sql त्रुटि

आपको शायद उन स्ट्रिंग फ़ील्ड के आसपास उद्धरण चिह्नों की आवश्यकता है, लेकिन, आपको पैरामीटरयुक्त प्रश्नों का उपयोग करना चाहिए!

cmd.CommandText = "INSERT INTO Data ([Name],PhoneNo,Address) VALUES (@name, @phone, @address)";
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@name", txtName.Text);
cmd.Parameters.AddWithValue("@phone", txtPhone.Text);
cmd.Parameters.AddWithValue("@address", txtAddress.Text);
cmd.Connection = connection;

संयोग से, आपकी मूल क्वेरी को इस तरह ठीक किया जा सकता था (एकल उद्धरणों पर ध्यान दें):

"VALUES ('" + txtName.Text + "','" + txtPhone.Text + "','" + txtAddress.Text + "');";

लेकिन इससे यह SQL इंजेक्शन हमलों के प्रति संवेदनशील हो जाता चूंकि उपयोगकर्ता टाइप कर सकता है

'; drop table users; -- 

अपने टेक्स्टबॉक्स में से एक में। या, अधिक सांसारिक रूप से, गरीब डेनियल ओ'रेली हर बार आपकी क्वेरी को तोड़ देगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर कर्सर प्रकार - KEYSET कर्सर | SQL सर्वर ट्यूटोरियल / TSQL ट्यूटोरियल

  2. dbgeography के लिए sql भूगोल?

  3. टी-एसक्यूएल में 'निष्पादित' का उपयोग कर चर के लिए मूल्य कैसे सेट करें?

  4. क्या मुझे varchar या int की प्राथमिक कुंजी वाली तालिका डिज़ाइन करनी चाहिए?

  5. SQL सर्वर में किसी भी / कुछ लॉजिकल ऑपरेटर का उपयोग कैसे करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 127