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

सी # का उपयोग कर mysql दिनांक समय प्रारूप

शुरू करने के लिए आप सीधे अपनी SQL क्वेरी में एक मान शामिल करने का प्रयास करके गलत हो रहे हैं। पैरामीटरयुक्त SQL का उपयोग करें और एक DateTime के रूप में मान निर्दिष्ट करें , और मान लें कि आपकी डेटाबेस तालिका भी . है दिनांक/डेटाटाइम फ़ील्ड (जो यह होना चाहिए) का उपयोग करके, आपको ठीक होना चाहिए।

आपको तीन कारणों से सीधे अपने SQL में मान शामिल करने से बचना चाहिए:

  • आप मुश्किल स्ट्रिंग रूपांतरणों के साथ समाप्त होंगे जो अनुपयुक्त प्रारूपों आदि का उपयोग कर सकते हैं। यहां यही समस्या है।
  • आप SQL इंजेक्शन हमलों को आमंत्रित कर रहे हैं
  • आप कोड और डेटा को मिला रहे हैं, जिससे कोड को पढ़ना कठिन हो जाता है और डेटा की जांच करना कठिन हो जाता है

आप कुछ ऐसा चाहते हैं:

string sql = @"Select distinct v.* from Ven v 
               inner join Des d on v.venid=d.venid 
               and cast(d.despdate as datetime) between @start and @end";
using (MySqlCommand command = new MySqlCommand(connection, sql))
{
    command.Parameters.AddWithValue("@start", startDateTime);
    command.Parameters.AddWithValue("@end", endDateTime);
    // Execute the command here
}

अगर Des.despdate नहीं है पहले से ही एक उपयुक्त डेटा प्रकार है, आपको उसे बदलना चाहिए...



  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 में तीन तालिकाओं से डेटा कैसे प्राप्त करें

  2. php mysql + सत्र समस्याएं

  3. MySQL - कैसे जांचें कि START TRANSACTION सक्रिय है या नहीं

  4. MacOS हाई सिएरा पर mysql-अजगर स्थापित करें

  5. PHP, MySQL, आदि में तिथियों को प्रबंधित करने का सबसे अच्छा तरीका क्या है?