मैंने कक्षा व्यक्ति संपत्ति जन्मदिनशून्य दिनांक दिनांक के रूप में परिभाषित किया है?, तो क्यों नल coalescing ऑपरेटर निम्नलिखित उदाहरण में काम नहीं करना चाहिए?सी # ?? नल कोलेसिंग ऑपरेटर प्रश्न
cmd.Parameters.Add(new SqlParameter("@Birthday",
SqlDbType.SmallDateTime)).Value =
person.Birthday ?? DBNull.Value;
मुझे मिली संकलक त्रुटि "ऑपरेटर" थी ?? 'System.DateTime' प्रकार के ऑपरेटरों पर लागू नहीं किया जा सकता है? और 'System.DBNull' "
निम्नलिखित भी एक संकलन त्रुटि मिली: के रूप में Refactor द्वारा सिफारिश की है, और यह संकलित है, लेकिन ठीक से काम नहीं किया
cmd.Parameters.Add(new SqlParameter("@Birthday",
SqlDbType.SmallDateTime)).Value =
(person.Birthday == null) ? person.Birthday:DBNull.Value;
मैं करने के लिए (वस्तु) एक डाली जोड़ा गया है और मूल्य दोनों मामलों में sqlserver डीबी में शून्य के रूप में संग्रहीत किया गया था।
SqlDbType.SmallDateTime)).Value =
person.Birthday ?? (object)DBNull.Value;
कोई बता सकता है कि यहां क्या हो रहा है?
if (person.Birthday == null)
cmd.Parameters.Add("@Birthday", SqlDbType.SmallDateTime).Value
= DBNull.Value;
else cmd.Parameters.Add("@Birthday", SqlDbType.SmallDateTime).Value =
person.Birthday;
http://stackoverflow.com/questions/218808/c-ado-net-nulls-and-dbnull-is-there-more-efficient-syntax – sgriffinusa
का डुप्लिकेट अन्य पोस्ट से प्राप्त हुआ: SqlDbType.SmallDateTime))। वैल्यू = व्यक्ति। जन्मदिन ?? (वस्तु) DBNull.Value; धन्यवाद! –