עזרה בנושא שגרות מאוחסנות
 
       
עמוד הבית
תקנון הפורומים
לוגו קהילתי
צור קשר
Developers.org.il :: אתר המפתחים הישראלי
אינדקס הפורומים       רשימת חברים    לוח שנה    מי מחובר?
ברוך/ה הבא/ה אורח/ת ( התחבר | הירשם )
        



עזרה בנושא שגרות מאוחסנות הראה / הסתר
כתב
הודעה
נשלח 03/09/2008 22:35
Active Developer

Active Developer

קבוצה: מפתחים רשומים
התחבר לאחרונה: שלשום @ 10:50
הודעות: 117, ביקורים: 268
קטע קוד

public Decimal GetBalance(int AccountID)

{

OleDbCommand oledbCommand = new OleDbCommand("spRetrieveBalance", OledbConnection);

oledbCommand.CommandType = CommandType.StoredProcedure;

OleDbParameter oledbParameter = oledbCommand.Parameters.Add("@AccountID", OleDbType.Integer);

oledbParameter.Direction = ParameterDirection.Input;

oledbParameter.Value = AccountID;

}

היי לכולם !

המתודה הנ"ל מקבלת מספר חשבון בנק ואז מחזירה את היתרה שבחשבון

עכשיו זה אמור להתבצע בעזרת שגרות מאוחסנות שזה נושא חדש בשבילי כפי שאפשר לראות הגעתי עד למצב שאני מכניס את הפרמטר (מספר חשבון)אבל עכשיו השאלה שלי איך אני מקבל את התוצאה (יתרה)של אותה שאילתא ?

תודה ולילה טוב

הודעה #5549
נשלח 04/09/2008 10:00
מנהל פורום "פלטפורמת NET."

מנהל פורום "פלטפורמת NET."

קבוצה: הנהלה ראשית
התחבר לאחרונה: אתמול @ 08:30
הודעות: 1,360, ביקורים: 5,449
היי אבי,
עליך להריץ את המתודה ExecuteScalar של אוביקט ה-Command.
המתודה מחזירה ערך בודד מסוג Object ולכך עליך לבצע casting לטיפוס שלך (לדוגמא, אם אתה מחזיר רשומה אז נלקח הערך של התא הראשון).



לירון רצבי, מנהל ומייסד האתר
אתר: http://www.Developers.org.il
דוא"ל: Webmaster@Developers.org.il

הודעה #5552
נשלח 05/09/2008 00:07
Active Developer

Active Developer

קבוצה: מפתחים רשומים
התחבר לאחרונה: שלשום @ 10:50
הודעות: 117, ביקורים: 268
תודה רבה

יש לי בעיה קטנה לפעמיים שאני מוסיף פקד button לאפלקציית web ואני מריץ את התוכנית הרוחב של הכפתור משתנה למימדים גדולים

אולי נתקלת בבעיה ו/או יש לך פתרון/הסבר

תודה

הודעה #5560
נשלח 07/09/2008 20:23
Active Developer

Active Developer

קבוצה: מפתחים רשומים
התחבר לאחרונה: שלשום @ 10:50
הודעות: 117, ביקורים: 268
ערב טוב לכולם!

יש לי מחלקה בשם AccountService ובה יש מס' מתודות:

1)UpDateBalance

2)UpDateTransactions

3)PayThatBill

כאשר אני מפעיל את המתודות 1 ו 2 בנפרד הכל תקין, הבעיה היא כשאני מפעיל את המתודה ה-3 שמשלבת את שתיהן יחד

במתודה ה-3 נשעשה שימוש באובייקט OleDbTransaction כדי  שבמידה ואחד משתי(1 ו\או 2  תכשל השינויים שנעשו על מסד הנתונים  ישוחזרו.

אך נזרקת לי שגיאה שהחיבור (OledbConnection)  לא נסגר. שאלתי את המורה שלי והיא אמרה לי שהייתי אמור להגדיר משהו ב OleDbTransaction  גם במחלקות 1 ו 2 אך היא לא הספיקה להסביר לי מה...

אפשר לקבל עזרה ממישהו שהבין את הבעיה(אם אפשר גם הסבר מדוע התרחשה השגיאה)?

תודה

הודעה #5573
נשלח 08/09/2008 10:00
מנהל פורום "פלטפורמת NET."

מנהל פורום "פלטפורמת NET."

קבוצה: הנהלה ראשית
התחבר לאחרונה: אתמול @ 08:30
הודעות: 1,360, ביקורים: 5,449
avi-a (05/09/2008)
תודה רבה

יש לי בעיה קטנה לפעמיים שאני מוסיף פקד button לאפלקציית web ואני מריץ את התוכנית הרוחב של הכפתור משתנה למימדים גדולים

אולי נתקלת בבעיה ו/או יש לך פתרון/הסבר

תודה


הבעיה נובעת מכך שאתה מגדיר את ה-Layout של ה-Button כ-Absolute.
הפיתרון הוא להגדיר לו Width בצורה מפורשת או להגדיר לו את ה-Layout כ-Relative.

avi-a (07/09/2008)
ערב טוב לכולם!

יש לי מחלקה בשם AccountService ובה יש מס' מתודות:

1)UpDateBalance

2)UpDateTransactions

3)PayThatBill

כאשר אני מפעיל את המתודות 1 ו 2 בנפרד הכל תקין, הבעיה היא כשאני מפעיל את המתודה ה-3 שמשלבת את שתיהן יחד

במתודה ה-3 נשעשה שימוש באובייקט OleDbTransaction כדי  שבמידה ואחד משתי(1 ו\או 2  תכשל השינויים שנעשו על מסד הנתונים  ישוחזרו.

אך נזרקת לי שגיאה שהחיבור (OledbConnection)  לא נסגר. שאלתי את המורה שלי והיא אמרה לי שהייתי אמור להגדיר משהו ב OleDbTransaction  גם במחלקות 1 ו 2 אך היא לא הספיקה להסביר לי מה...

אפשר לקבל עזרה ממישהו שהבין את הבעיה(אם אפשר גם הסבר מדוע התרחשה השגיאה)?

תודה


במידה ואנו נדרשים לבצע מס' פעולות ב-DB ולוודא שהן התבצעו כהלכה (קרי: "הכל או כלום") עליך לבצע זאת ע"י טרנזקציה.
עליך להגדיר אוביקט מסוג OleDbTransaction, לשייך את אוביקט ה-Command של המתודות הרלוונטיות לאוביקט הטרנזקציה ולבצע אותן בצורה רגילה.
לאחר מכן, עליך להריץ את המתודה Commit של אוביקט הטרנזקציה על מנת לשמור את השינויים או Rollback במידה ואחת מהפעולות נכשלה כדי לשחזר את השינויים שאותן פעולות ביצעו.


לירון רצבי, מנהל ומייסד האתר
אתר: http://www.Developers.org.il
דוא"ל: Webmaster@Developers.org.il

הודעה #5576
נשלח 08/09/2008 15:25
Active Developer

Active Developer

קבוצה: מפתחים רשומים
התחבר לאחרונה: שלשום @ 10:50
הודעות: 117, ביקורים: 268
קודם כל תודה

נסיתי לשייך את אובייקט הcommand ל OledbTransaction כך

קטע קוד

oledbCommand.Transaction = objTrans;

אך הבעיה לא נפתרה

קטע קוד

public void UpDateBalance(int AccountID, int NewBalance)

{

try

{

OledbConnection.Open();

oledbCommand = new OleDbCommand("spUpdateBalance", OledbConnection);

oledbCommand.CommandType = CommandType.StoredProcedure;

oledbCommand.Transaction = objTrans;

OleDbParameter OleDbParameters = new OleDbParameter();

OleDbParameters = oledbCommand.Parameters.Add("@newbalance", OleDbType.Integer);

OleDbParameters.Direction = ParameterDirection.Input;

OleDbParameters.Value = NewBalance;

OleDbParameters = oledbCommand.Parameters.Add("@AccountID", OleDbType.Integer);

OleDbParameters.Direction = ParameterDirection.Input;

OleDbParameters.Value = AccountID;

oledbCommand.ExecuteNonQuery();

OledbConnection.Close();

}

catch (Exception e)

{

throw e;

}

}

public void PayThatBill(int AccountID, string payee, decimal amount)

{

try

{

OledbConnection.Open();

objTrans = OledbConnection.BeginTransaction();

this.UpDateBalance(AccountID,Convert.ToInt32(GetBalance(AccountID)-amount));

this.UpDateTransactions(AccountID, payee, amount);

objTrans.Commit();

}

catch (Exception e)

{

objTrans.Rollback();

throw e;

}

finally

{

OledbConnection.Close();

}

}

זהו חלק מהקוד

הודעה #5584
נשלח 10/09/2008 15:38
Active Developer

Active Developer

קבוצה: מפתחים רשומים
התחבר לאחרונה: שלשום @ 10:50
הודעות: 117, ביקורים: 268
הבנתי את הבעיה

פתחתי וסגרתי את החיבור במתודות המשניות

תודה על העזרה

הודעה #5603
« נושא קודם | נושא הבא »


קוראים נושא זה הראה / הסתר
מפתחים מחוברים: 0 (0 אורחים, 0 רשומים, 0 מפתחים אנונימיים)
אין מפתחים הצופים כרגע בנושא זה.
מנהל/י הפורום: Liron_Ratzabi

 GMT +2:00, 6:33am

מופעל ע"י InstantForum.NET v4.1.4 © 2008
זמן ריצה: 0.172. 16 שאילתות. כיווץ לא מופעל.