C# - בעיית חיבור פתוח

  • הוסף לסימניות
  • #1
היי,
כשאני משתמשת בפוקציית עידכון לדאטא בייס,
בדר"כ בפעם הראשונה זה עובד לי,
ואם אני מנסה אחר כך שוב, זה עושה לי שגיאה כזאת:
1605180451183.png


מישהו יודע מה הבעיה? איך פותרים אותה?
תודה רבה!
 
  • הוסף לסימניות
  • #2
נשמע שאת משאירה את החיבור פתוח אחרי העדכון. תוודאי שאת סוגרת אותו.
 
  • הוסף לסימניות
  • #3
איך אני סוגרת אותו?
אני פשוט ניגשת, לא פתחתי כלום...
מצרפת צילום של הקוד:
זה הקוטנרולר:
1605180626263.png

וזה הפונקציה עצמה:
1605180655461.png

אולי זה קשור לשורה הזאת? זה המקום היחיד שהתייחסתי לדאטא בייס..
זה נקרא פתיחה?
1605180690895.png


תודה!
 
  • הוסף לסימניות
  • #4
אין כזהדבר סתם לגשת, מתחת יש חיבור עם הDB...
יש לך את התוכן של db.SaveChanges?
 
  • הוסף לסימניות
  • #5
זה פונקציה מוכנה של visual studio..
לא אני כתבתי אותה....

יש דרך אחרת? זה מה שאני מכירה...

תודה רבה!
 
  • הוסף לסימניות
  • #6
למה זה static? לעבוד עם פונקציה סטטית בEF עושה המוןןןןןןןןן בעיות.

עריכה:

לא רק הפונקציה לא תהיה סטטית. גם המופע של הDB, שלא יהיה סטטי.
גם אם הבעיות לא קרו לך עד עכשיו, הן היו קורות בהמשך.
עדיף ליצור מופע בכל פונקציה, מאשר להשתמש בסטטי...
 
  • הוסף לסימניות
  • #7
למה זה static? לעבוד עם פונקציה סטטית בEF עושה המוןןןןןןןןן בעיות.

עריכה:

לא רק הפונקציה לא תהיה סטטית. גם המופע של הDB, שלא יהיה סטטי.
גם אם הבעיות לא קרו לך עד עכשיו, הן היו קורות בהמשך.
עדיף ליצור מופע בכל פונקציה, מאשר להשתמש בסטטי...

וזה לא יעשה לי בעיות אחרות אם אני אבטל את הסטטי?
תודה רבה!
 
  • הוסף לסימניות
  • #9
יתכנו שגיאות קומפילציה בגלל הגישה למופע של הDB.
מה שצריך לעשות, זה מופע בתוך כל פונקציה.
זהו.

בהצלחה!

אוקיי תודה!

ומה לגבי השגיאה שפתחתי עליה? יש לך מושג מה זה אומר? החיבור פתוח?
תודה רבה!
 
  • הוסף לסימניות
  • #12
איזה בעיה זה עשה בcontroller?

עריכה:
לכאורה זה סתם שגיאת קומפילציה, כי ניסית לגשת עם שם המחלקה, ולא עם מופע.
מה שצריך לעשות זה לגשת דרך:
C#:
new systemBll().editSystemBl
אגב, לא מבינה שם כמה דברים.
אם המחלקה היא public וגם הפונקציה, למה זה מתחיל באות קטנה?
טוב, זה סתם הערת אגב, לא קשור לזה האם הקוד ירוץ או לא.
 
  • הוסף לסימניות
  • #13
זה כותב שאם הפונקציה היא לא סטטית, אז צריך referance.
משהו כזה.

יכול להיות שזה קשור לבעיה של החיבור??
 
  • הוסף לסימניות
  • #14
יש לך את הפונקציה של SAVECHANGES אחרי כל נגיעה בDB?
יכול הליות שהמשכת לרוץ על הקוד והוא גלש לך למקום הפתוח הנ"ל
 
  • הוסף לסימניות
  • #19
תכניסי את הכל בתוך using{}
למעשה, הוא יבצע dispose בכל יציאה מבלוק כל שהוא.
לכן אמרתי שכדאי ליצור מופע בכל פונקציה.
אפשר גם לעשות using לכל בלוק.
רק חבל, שאם באותה פונקציה תהיינה כמה גישות, ליצור כמה מופעים.
זה קצת מיותר.
 
  • הוסף לסימניות
  • #20
באותה פונקייה???
למה שיהיו כמה גישות?
ואם כן צריך הם יהיו באותו בלוק ויסגרו ביציאה.
 

פרוגבוט

תוכן שיווקי
פרסומת
למעלה