c# - Problems submitting DataGridView changes with Linq-to-SQL -
मैं एक DataGridView
नियंत्रण के माध्यम से डेटाबेस मान संस्करण कार्यान्वित करने की कोशिश कर रहा हूं, लेकिन ईमानदारी से मैं कर रहा हूँ यह पूरा करने की कोशिश कर रहे एक कठिन समय मैं मूल रूप से LINQ-to-SQL वर्गों और घटनाओं का उपयोग कर रहा हूं, निम्नलिखित सबसे महत्वपूर्ण स्निपेट्स हैं:
var डेटा = डेटा से q.FOOBARS नई {ID = q.FOOBAR_ID का चयन करें, LOREM = q.FOOBAR_LOREM, आईपीएसयूएम = q.FOOBAR_IPSUM}; डेटाग्रीड दृश्य ग्रिड = नया डेटाग्रिड दृश्य (); ग्रिड। डेटा स्रोत = डाटा; // ग्रिड ईवेंट निजी शून्य grid_CellDoubleClick (ऑब्जेक्ट प्रेषक, DataGridViewCellEventArgs ई) {this.grid.CurrentCell.ReadOnly = false; this.grid.BeginEdit (सही); } निजी शून्य grid_CellLeave (वस्तु प्रेषक, DataGridViewCellEventArgs ई) {if (this.grid.CurrentCell.IsInEditMode) {// विधि कॉल this.SetVariableValue (this.grid.CurrentRow.Cells [ "आईडी"]। Value.ToString (), this.grid.CurrentCell.OwningColumn.Name, this.grid.CurrentCell.FormattedValue.ToString (), this.grid.CurrentCell.EditedFormattedValue.ToString ()); } This.grid.CommitEdit (DataGridViewDataErrorContexts.Commit); this.grid.EndEdit (); } // विधि IMPL निजी शून्य SetVariableValue (स्ट्रिंग आईडी, स्ट्रिंग प्रकार, स्ट्रिंग वर्तमान, स्ट्रिंग संपादित) {{अगर (वर्तमान! = संपादित) {का उपयोग कर (FOOBARDataClassesDataContext डेटा = नए FOOBARDataClassesDataContext (this.BuildConnection ())) {डेटा प्रयास करें। ExecuteCommand ("एसईटी हस्तांतरण अवकाश स्तर पढ़ा गया संयुक्त राष्ट्र"); स्विच (प्रकार) {मामले "lorem":। वर currentLorem = data.FOOBARS.SingleOrDefault (v = & gt; v.FOOBAR_ID == Convert.ToInt32 (आईडी)) FOOBAR_LOREM; CurrentLorem = संपादित; data.SubmitChanges (ConflictMode.ContinueOnConflict); टूटना; मामले "ipsum": var currentIpsum = data.FOOBARS.SingleOrDefault (v = & gt; v.FOOBAR_ID == Convert.ToInt32 (आईडी)) FOOBAR_IPSUM;। CurrentIpsum = संपादित; data.SubmitChanges (ConflictMode.ContinueOnConflict); टूटना; डिफ़ॉल्ट: ब्रेक; } डेटा। रीफ़्रेश करें (रिफ्रेशमोड। ओवरराइट कंटेंट वाल्व); }}} पकड़ (अपवाद त्रुटि) {यदि (logger.IsErrorEnabled) लॉगर। त्रुटि (error.Message); }}
डिबगिंग अच्छा लगता है, ऑब्जेक्ट वास्तव में अद्यतन हो रहे हैं लेकिन कुछ कारणों से परिवर्तन न तो सबमिट किए गए हैं या न ही अपडेट किए जा रहे हैं।
कोई भी मदद निश्चित रूप से सराहना की जाएगी। बहुत से लोग अग्रिम धन्यवाद!
किसी कारण से यह काम नहीं करता :
वर currentLorem = data.FOOBARS.SingleOrDefault (v = & gt; v.FOOBAR_ID == Convert.ToInt32 (आईडी)) FOOBAR_LOREM;। CurrentLorem = संपादित; data.SubmitChanges (ConflictMode.ContinueOnConflict);
लेकिन यह नहीं है (पंक्ति 1 और 2, फ़ूबर_लार्म विशेषता में बदलाव देखें):
var currentLorem = डेटा फूबर्स। सिंगलऑर डीफॉल्ट (v = & gt; v.FOOBAR_ID == कन्वर्ट.ओआईएनटी 32 (आईडी)); CurrentLorem.FOOBAR_LOREM = संपादित; data.SubmitChanges (ConflictMode.ContinueOnConflict);
Comments
Post a Comment