सबसे पहले, आपको लगता है कि आप DateTime
. के बीच के अंतर को लेकर भ्रमित हैं ऑब्जेक्ट और स्वरूपित String
उस DateTime
. का प्रतिनिधित्व वस्तु। Now
, या इससे भी बेहतर, DateTime.Now
पहले से ही एक DateTime
है ऑब्जेक्ट, इसलिए इसे स्ट्रिंग के रूप में प्रारूपित करने का कोई मतलब नहीं है और फिर इसे DateTime
में वापस लाने के लिए स्ट्रिंग को पार्स करें। फिर से मूल्य। तो, आप बस वही काम पूरा करने के लिए ऐसा कर सकते हैं:
Dim timestamp As Date = Date.Now
ध्यान दें कि VB.NET में, Date
एक कीवर्ड है जो DateTime
. के लिए छोटा है , ठीक वैसे ही जैसे Integer
Int32
. के लिए "लघु" है ।
दूसरा, आपको DateTime
. नहीं जोड़ना चाहिए सीधे SQL कमांड स्ट्रिंग में मान। आपको पैरामीटरयुक्त क्वेरी का उपयोग करना चाहिए। जब आप DateTime
. जोड़ते हैं SQL स्ट्रिंग के लिए मान, आपको यह सुनिश्चित करना चाहिए कि यह ठीक से स्वरूपित है (timestamp.ToString(...)
पर कॉल करके ) दुर्भाग्य से, हालांकि, कौन सा प्रारूप उचित है, यह पूरी तरह से सर्वर की संस्कृति सेटिंग्स पर निर्भर करेगा। इसलिए, DB पैरामीटर का उपयोग करना कहीं बेहतर है, पैरामीटर मान को वास्तविक DateTime
के बराबर सेट करें ऑब्जेक्ट, और फिर डीबी प्रदाता को आपके लिए रूपांतरण करने दें।