स्वीकार करें मैंने अपना कोड यथासंभव कॉम्पैक्ट बनाने की कोशिश की है।SQL सर्वर दिनांक समय पूर्ण
Microsoft SQL सर्वर का उपयोग करना, .NET 2.0
मैं जो शून्य मान
LeaseExpiry(datetime, null)
मैं पाठ बॉक्स के मूल्य पकड़ें और उसे datetime में बदलने को स्वीकार करता है मेरी डेटाबेस में एक तिथि क्षेत्र की है।
DateTime leaseExpiry = Convert.ToDateTime(tbLeaseExpiry.Text);
INSERT_record(leaseExpiry);
मेरी समस्या यह है कि यदि फॉर्म सबमिट किया गया है और टेक्स्टबॉक्स खाली है। मुझे यह त्रुटि वापस मिलती है:
स्ट्रिंग को वैध दिनांक समय के रूप में पहचाना नहीं गया था।
कैसे इतना है कि यदि टेक्स्ट बॉक्स खाली है, पंक्ति NULL
साथ डेटाबेस में बनाई गई है मैं अपने कोड की स्थापना करते हैं?
मैं दृश्य स्टूडियो में रिक्त लेकिन पाने के लिए एक त्रुटि
DateTime leaseExpiry = null;
कनवर्ट नहीं कर सकता 'System.DateTime' के लिए अशक्त क्योंकि यह गैर-व्यर्थ मान प्रकार है मेरी चर आरंभ कोशिश की है।
यहाँ डेटा एक्सेस परत है कि यदि में मदद करता है
public string INSERT_record(DateTime leaseExpiry)
{
//Connect to the database and insert a new record
string cnn = ConfigurationManager.ConnectionStrings[connname].ConnectionString;
using (SqlConnection connection = new SqlConnection(cnn))
{
string SQL = string.Empty;
SQL = "INSERT INTO [" + dbname + "].[dbo].[" + tblAllProperties + "] ([LeaseExpiry]) VALUES (@leaseExpiry);
using (SqlCommand command = new SqlCommand(SQL, connection))
{
command.Parameters.Add("@leaseExpiry", SqlDbType.DateTime);
command.Parameters["@leaseExpiry"].Value = leaseExpiry;
}
try
{
connection.Open();
command.ExecuteNonQuery();
return "Success";
}
catch (Exception ex)
{
return ex.Message;
}
}
}
आप
इसे 'लीज एक्स्पिररी' ('लीज एक्स्पायरी' नहीं) लिखा जाना चाहिए - आपके पास आपके कोड में दोनों संस्करण थे, जो वास्तव में भ्रमित है। मैंने इसे हर समय 'समाप्ति' के रूप में तय किया। –