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

टेक्स्टबॉक्स का उपयोग करके विशिष्ट श्रेणी वाले SQL सर्वर डेटाबेस से चयन करें

अपने एसक्यूएल प्रश्नों को बनाने के लिए स्ट्रिंग कॉन्सटेनेशन का उपयोग न करें, कभी नहीं!

आप एसक्यूएल इंजेक्शन के लिए खुले हैं, इसके लिए कोई बहाना नहीं है। इसके बजाय sql पैरामीटर का उपयोग करें:

Dim dateFrom as Date
Dim dateTo as Date
Dim validFromDate = Date.TryParse(Txtfromyear_reprt.Text.Trim(), dateFrom)
Dim validToDate = Date.TryParse(Txttoyear_reprt.Text.Trim(), dateTo)

अब इस पद्धति से एक सार्थक संदेश के साथ बाहर निकलें यदि उपयोगकर्ता ने मान्य तिथियां प्रदान नहीं की हैं। आप validFromDate . की जांच कर सकते हैं और validToDate जो बुलियन हैं। शेष कोड निष्पादित किया जाता है If validFromDate AndAlso validToDate :

Dim str As String = "select * from MYTABLE where Year >= @fromyear and Year <= @toyear"
da = New SqlDataAdapter(str, conn)
da.SelectCommand.Parameters.Add("@fromyear", SqlDbType.DateTime).Value = dateFrom 
da.SelectCommand.Parameters.Add("@toyear", SqlDbType.DateTime).Value = dateTo
' now you can use da.Fill(ds, "MYTABLE") safely

मैंने अभी देखा कि आप varchar . का उपयोग करते हैं datetimes स्टोर करने के लिए . क्यों? इसे डेटाबेस में ठीक करें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं टी-एसक्यूएल में एक पंक्ति के रूप में एकाधिक पंक्तियों को कैसे वापस कर सकता हूं?

  2. 'ओपनरोसेट' के साथ एसक्यूएल स्क्रिप्ट पर त्रुटि

  3. IN ऑपरेटर का उपयोग करके SQL_Latin1_General_CP1_CI_AS का मिलान कैसे करें

  4. डायनामिक लेबल कैसे उत्पन्न करें और कॉलम नाम और मान को टेक्स्ट के रूप में उपयोग करें

  5. नोड्स () विधि का उपयोग करके SQL में पदानुक्रमित XML को समतल करना