דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
dovidD

dovid

@dovid
ניהול
אודות
פוסטים
10.3k
נושאים
186
שיתופים
0
קבוצות
2
עוקבים
32
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • EF WPF Selective SaveChanges
    dovidD dovid

    @שמואל

    זה לא תמיד יהיה נכון לעשות מופע חדש

    עניין של גישה, אכן אני בעד זו שלך.
    שים לב שבווב זו לא אופציה...

    @שמואל

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

    זה כבר לא טענה, כי זה רק עניין של קצת קוד נוסף: צריך לקבוע ידנית את הState לModifeid ולהוסיף לDbContext החדש ולשמור וזהו.

    פורסם במקור בפורום CODE613 ב11/09/2014 11:22 (+03:00)

    ארכיון code613m

  • EF WPF Selective SaveChanges
    dovidD dovid

    השאלה נחלקת לשניים:
    א. איך אפשר לשמור נתון בודד, ולהשאיר את האחרים במצב דורש שמירה (כי בנקודת זמן זו המשתמש נגיד עדיין יכול ללחוץ על ה"ביטול").
    ב. איך לבטל שינויים אותם לא מעוניינים כלל לשמור. נאמר הוספנו אייטם או שינינו ולבסוף החלטנו לא לשמור = לבטל, כדי שמכאן ולהבא השינויים לא יעמדו על הפרק כלל.

    לשאלה הראשונה:
    הסיטואציה הזו נדירה, ויש לבדוק היטב אם המצב הזה נצרך (ראה נ.ב. בסוף). במקרה וכן, מה שצריך זה ליצור DbContext ספציפית לנתון הדרוש. זה לא סותר במאומה את הDbContext הראשי שמשותף לכל החלונות, ויכול לרוץ במקביל אליו. כמו"כ לא צריך לתשאל מחדש את המסד אם מדובר בעדכון שדה, כי אפשר להשתמש עם הID ולשנות ידנית את הSTATE לMODIFIED.

    לשאלה השניה:
    בעיקרון אפשר לשחזר את הDbContext לקדמותו בכמה דרכים, אבל הכי פשוט זה לא להזדקק לזה. למשל, במקרה תיבת דו שיח של הוספת איש קשר, שכשבלחיצה על האישור נעשה SaveChanges, אז במקרה ביטול אין להסתפק בהיעדרה של הפקודה SaveChanges, אלא להסיר את האיש קשר מהDbContext כדי שההוספה כבר לא תעמוד על הפרק:

    DbContext.Table.Remove(Item);
    

    במקרה של עריכה, אפשר פשוט לקבוע את הערך של EntityState כUnchanged, וממילא הDbContext לא ישלח עדכון על אייטם זה. בשביל לשחזר את הערכים המקוריים לאייטם שבזיכרון הDbContext אפשר ככה:

    var entry = DbC.Entry(Item);
    entry.CurrentValues.SetValues(entry.OriginalValues);
    entry.State = EntityState.Unchanged;
    

    או (מיותר קצת) לתשאל את הDB שוב לגבי פריט זה ע"י פקודת Refresh של הDbContext.

    נ.ב.
    על השאלה הראשונה יש להעיר, כי בכלל לא חייבים "להיכנס לזה", כלומר הכי פשוט זה לא לשמור כלל בנקודת זמן זו. למשל אם יש אפשרות ליצור איש קשר חדש, ובעוד התיבת הדו שיח ממתינה לאישור/ביטול אז יש אפשרות לצרף ל"איש" המיועד טלפונים, ונאמר שהטלפונים זה טבלה נפרדת. אז אכן לא כדאי לעשות SaveChange להוספת טל', כל עוד לא בטוח כלל שילחץ ה"אישור" להוספת ה"איש קשר".

    פורסם במקור בפורום CODE613 ב11/09/2014 11:05 (+03:00)

    ארכיון code613m

  • טריגר לשמירת הסטוריה ב MS-SQL
    dovidD dovid

    אלמלא החופש ושיממון הפורום היו פה נראה לי מחיאות כפיים סוערות...
    תודה!
    הלואי שהייתי מצליח לכתוב כזה קוד.
    חזק.

    פורסם במקור בפורום CODE613 ב26/08/2014 12:54 (+03:00)

    ארכיון code613m

  • טבלה או שאילתה באקסס - חוות דעתכם
    dovidD dovid

    @ארכיטקט

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

    גם מיקרוסופט כותבים כך.
    גם ויקיפדיה מתייחסים לשימוש זה בפרט בהקשר של sql server, אגב הערך חדש לי ושווה בדיקה http://en.wikipedia.org/wiki/Log_trigger

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

    בקשר לתפקידו הטבעי של הטריגר, כולם מקדימים לומר שהוא פשוט ברוב המקרים חסר תפקיד - כלומר לא להשתמש בו. יתר המקרים זה שלמות נתונים שכתובים פעמיים וכדו'.
    ראה בויקיפדיה האנגלית את משפט התמצות על טריגר:

    ...The trigger is mostly used for maintaining the integrity of the information on the database. For example, when a new record (representing a new worker) is added to the employees table, new records should also be created in the tables of the taxes, vacations and salaries.
    

    במילים אחרות הטריגר בא לעולם ב"חטא" - בניית מסדי נתונים שאינם עומדים בתכלית הנורמליזציות בגלל הפער בין האידאליה למציאות).

    אגב השיטוט, פתרונות מהרשת נוספים באותו עיקרון שלכם - ארכיטקט וsoft - מבוססים על טריגר
    http://weblogs.asp.net/jongalloway/adding-simple-trigger-based-auditing-to-your-sql-server-database
    http://www.softcodearticle.com/2012/11/imlementing-generic-audit-trail-trigger-in-sql-server/

    פורסם במקור בפורום CODE613 ב26/08/2014 16:56 (+03:00)

    ארכיון code613m

  • טבלה או שאילתה באקסס - חוות דעתכם
    dovidD dovid

    @softs

    אני פיתחתי כמה וכמה שיטות שונות ועדיין "ס'איז נישט"
    אשמח להפניה ל THREAD הספציפי

    ארכיטקט כתב כמה אשכולות והוא השקיע בנושא. ראה http://code.613m.org/viewtopic.php?f=1&t=211
    אבל לא כתבתי שם את טענתי האחרונה שהתגבשה אחרי כן.
    תוכל לראות הרבה מאמרים באינטרנט על דרכים למעקב שינויים, ושימוש בכלים המובנים של MSSQL לכך.
    הנה למשל: http://www.codeproject.com/Articles/537649/SQL-Server-Change-Tracking-CT

    פורסם במקור בפורום CODE613 ב25/08/2014 19:48 (+03:00)

    ארכיון code613m

  • טבלה או שאילתה באקסס - חוות דעתכם
    dovidD dovid

    @softs

    הרחקת לכת בקביעה הזו, אני לדוגמה משתמש בטריגרים גם על מנת לשמור היסטורית שינויים וגם בטריגרים של instead of ועוד היד נטויה

    השימוש הראשון נידון פה בארוכה ע"י "ארכיטקט". מכמה וכמה מקורות שיש כלים הרבה יותר טובים ופשוטים למטרה זו מאשר טריגר. ודאי וודאי שלא נוצר לכך.

    השימוש בשני הוא חריג ונספח למושג טריגר שמטרתו לדאוג לשלמות הנתונים (=עקב אי נורמליזציה מלאה).

    זה מה שהתכוונתי, ייתכן שאני טועה.

    פורסם במקור בפורום CODE613 ב25/08/2014 18:27 (+03:00)

    ארכיון code613m

  • טבלה או שאילתה באקסס - חוות דעתכם
    dovidD dovid

    @MacroShadow

    בטבלה יש לשמור כל פעולה שנעשתה בפנ"ע.
    סיכומים ושאר ירקות [u:1x8fdcqg]רק[/u:1x8fdcqg] בשאילתות.

    @מלא

    גם אני הקטן סבור כן. וכן אני נוהג בדרך כלל.
    רק שראיתי באיזה תוכנה הזויה אבל מקובלת במוסדות החינוך שAPT שמה, שהם עשו את הכל בתוך הטבלאות, וחשבתי אולי שהטעינה של הטבלאות מהירה יותר בריבוי נתונים.
    תודה בכל אופן.
    אם כך אומרים כך נעשה בע"ה.

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

    פורסם במקור בפורום CODE613 ב25/08/2014 16:39 (+03:00)

    ארכיון code613m

  • event ב App axml
    dovidD dovid

    בטמפלט/סטייל עצמם צריך להשתמש עם RouteEvent/EventSetter בהתאמה כדי לנתב לקוד (אותו כותבים בapp.cs), רק שזה עובד רק עם RotedEvent שזה האוננטים המיוחדים של WPF ולא עם אוונטים רגילים - אותם א"א לנתב לקוד מתוך סטייל/טמפלט. במקרה של חלון אין אירועי WPF לסגירה רק אירוע פרימיטיבי.
    לכן אתה צריך לעשות אחרת: לבנות מחלקה בקוד שיורשת מWindow ולשנות בכל החלונות את המילה Window לשם המחלקה שלך (למשל myNs:MyClassWin) וגם בקוד לשנות את הירושה במקום מWindow למחלקה שלך.

    בapp.cs תוכל לעצב בסטייל/טמפלט ישירות את המחלקה שלך.

    פורסם במקור בפורום CODE613 ב13/08/2014 20:49 (+03:00)

    ארכיון code613m

  • הרשאה לשינוי ערך ברג'יסטרי באמצעות דוט נט
    dovidD dovid

    זה נראה לי כן קשור להרשאות, אבל לא בהכרח שאדמיניסטרטור מועיל כאן.
    זה עניין של בעלות כמבואר כאן: http://superuser.com/a/277597/292722
    ואם הבעלים זה system למשל אז האדמיניסטרטור לא יכול לשנות עד שהוא ייקח בעלות. דרך הregedit זה כנראה משתמש ביוזר system.

    צריך לבדוק את העניין.

    פורסם במקור בפורום CODE613 ב13/08/2014 21:07 (+03:00)

    ארכיון code613m

  • הצעה-הצבעה: כל אחד יכול לכתוב בפורום
    dovidD dovid

    אנו הולכים על כיוון של פשרה - הקלת ההרשמה וההתחברות כמה שניתן.
    אנו עובדים כעת על חיבור באמצעות הרשתות החברתיות:
    gmail
    windows live
    linkedin

    ועוד.

    פשרה טובה?

    פורסם במקור בפורום CODE613 ב10/08/2014 21:17 (+03:00)

    ארכיון code613m

  • עיצוב חדש
    dovidD dovid

    הציבור מוזמן לבדוק את הערכת עיצוב ProBoot בלוח בקרה למשתמש > העדפות מערכת.
    ההתאמות האחרונות נעשות בימים אלו.

    אנו מזמינים בזאת הערות והארות וביקורת בונה 🙂

    פורסם במקור בפורום CODE613 ב03/08/2014 18:49 (+03:00)

    ארכיון code613m

  • מספור אוטומטי בשאילתה - אקסס
    dovidD dovid

    http://code.613m.org/viewtopic.php?t=235&p=1651

    פורסם במקור בפורום CODE613 ב29/07/2014 16:15 (+03:00)

    ארכיון code613m

  • תאריך שינוי אחרון בקובץ באמצעות SQL SERVER
    dovidD dovid

    @magicode

    @ארכיטקט לפעמים נדמה שאתה חושב שSQL רץ בדרך ניסית. בלי לזלול משאבים. לא משנה מה הוא עושה.
    סוג של magicode כזה.

    גם אם הוא גולם איטי הוא אמור לפחות להיות עקבי.

    פורסם במקור בפורום CODE613 ב31/08/2014 13:11 (+03:00)

    ארכיון code613m

  • Wordpress כסביבת פיתוח
    dovidD dovid

    כיון שעיני צרה בשל אחרים, החלתי לבדוק את המערכת של וורדפרס [u:1lrbf6l0]מכיוון המפתח[/u:1lrbf6l0].
    מפתחים טענו בפני שמדובר בFramework שחוסך לך יסודות שלוקחים הרבה משאבים, ומקפיץ אותך לגמר האפליקציה במהירות שיא, זה כמובן תמורת מחירי המוגבלות של וורדפרס. טוב, אז אני דבר ראשון מתווכח (אפי' שאני לא מכיר בכלל את וורדפרס :?) ואני אומר "מה פתאום, דוט נט זה פי 10 טוב לנקודת פתיחה" וכו'.
    בשלב שני, אני ניגש לבדוק בשקט את וורדפרס, רק בשביל להוכיח את טענותיי undefined . מקוה שעמיתי יעשו גם כן ככה לדוט נט (MVC, אלא מה), יציצו ויפגעו.
    אז התחלתי לקרוא ספר (זה באנגלית אז אני קורא בעיקר את הציורים :)), והגעתי לקטע שחשוב לי לשתף, לכל מי שמחליט אם דרכו ([u:1lrbf6l0]מבחינת מתכנת!![/u:1lrbf6l0]) בוורדפרס או שמא ב...

    הקטע לפניכם באנגלית, בע"ה בימים הקרובים אתרגם הכל (עם טרנסלט של גוגל למי שחשב שאני יודע ע' לשונות).

    Understanding limitations and sticking
    with guidelines
    As with every framework, WordPress has its limitations in developing web
    applications. Developers need to understand the limitations before deciding
    to choose a framework for application development.
    In this section, we are going to learn the limitations while building simple guidelines
    for choosing WordPress for web development. Let's get started:
    • Lack of support for MVC: We talked about the architecture of WordPress
    and its support for MVC in one of the earlier sections. As a developer, you
    need to figure out ways to work with WordPress in order to fit with your
    web applications. If you are someone who cannot work without MVC,
    WordPress may not be the best solution for your application.
    • Database migration: If you are well experienced in web development, you
    will have a pretty good idea about the importance of choosing databases
    considering the possibilities of migrating to another one in later stages.
    This could be a limitation in WordPress as it's built-in to work with the
    MySql database. Using it with another database will be quite difficult, if
    not impossible. So if you need the database to be migrated to some other
    database, WordPress will not be the best solution.
    WordPress As a Web Application Framework
    [ 22 ]
    • Performance: Performance of your application is something we get to
    experience in later stages of the project when we go into a live environment.
    It's important to plan ahead on the performance considerations as it can come
    through internal and external reasons. WordPress has a built-in database
    structure and we are going to use it in most of the projects. It's designed
    to suit CMS functionality and sticking with the same tables for different
    types of projects will not provide an optimized table structure. Therefore,
    performance might be a limitation for critical applications interacting with
    millions of records each day, unless you optimize your caching, indexing, and
    other database optimization strategies. WordPress runs on an event-driven
    architecture, packed with features. Often developers misuse the hooks without
    proper planning, affecting the performance of the application, so you have to
    be responsible in planning the database and necessary hooks in order to avoid
    performance overheads.
    • Regular updates: WordPress has a very active community involving its
    development for new features and fixing the issues in the existing features.
    Once a new version of core is released, plugin developers will also update
    their plugins to be compatible with the latest version. Hence, you need to
    perform additional tasks for updating the core, themes, and plugins, which
    can be a limitation when you don't have a proper maintenance team.
    • Object-oriented development: Experienced web developers will always
    look for object-oriented frameworks for development. WordPress started
    its coding with procedural architecture and is now moving rapidly towards
    object-oriented architecture, so there will be a mix of both procedural and
    object-oriented codes. WordPress also uses hook-based architecture for
    providing functionality for both procedural and object-oriented codes.
    Developers who are familiar with other PHP frameworks might find it
    difficult to come to terms with the mix of procedural and object-oriented
    code, as well as hook-based architecture, so you have to decide whether you
    are comfortable with its existing coding styles.
    If you are a developer or designer, who thinks these limitations could cause major
    concerns for your projects, WordPress may not be the right solution for you.
    

    פורסם במקור בפורום CODE613 ב23/07/2014 18:41 (+03:00)

    ארכיון code613m

  • חיבור בין 2 שדות תאריך ב SQL SERVER
    dovidD dovid

    @softs

    אני מניח שהוא שיקף סיטואציה שבה יש לו שדה DATE ולכן ההמרה

    סוף סוף הבנתי אותו.

    פורסם במקור בפורום CODE613 ב31/07/2014 14:10 (+03:00)

    ארכיון code613m

  • חיבור בין 2 שדות תאריך ב SQL SERVER
    dovidD dovid

    @ארכיטקט

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

    נו זה ממש כמו הקודים שכתב SOFT בעבר עם שינוי מינורי:

    DECLARE @d AS DATETIME  = '2014-10-10';
    DECLARE @t AS TIME(7) = CAST(GETDATE() AS DATETIME);
     
    SELECT @D + @t;
    

    אגב, ממש לא נתפס אצלי הסיטואציה של תאריך ממקור פלוני ושעה נוכחית

    @softs

    כי ל DATE אין מקום ל TIME אתה צריך להמיר ל DATETIME ואז להוסיף, כדלהלן:

    select  CAST(GETDATE() as DATETIME) + cast(GETDATE() as TIME)
    

    למה להמיר? ככה וזהו

    select  GETDATE() + cast(GETDATE() as TIME)
    

    פורסם במקור בפורום CODE613 ב31/07/2014 12:35 (+03:00)

    ארכיון code613m

  • חיבור בין 2 שדות תאריך ב SQL SERVER
    dovidD dovid

    תגיד מה אתה מנסה לעשות?
    אני מקוה שאתה מודע לכך שהGETDATE נותן לך את התוצאה הסופית שלך מלכתחילה.

    פורסם במקור בפורום CODE613 ב31/07/2014 11:28 (+03:00)

    ארכיון code613m

  • חיבור בין 2 שדות תאריך ב SQL SERVER
    dovidD dovid

    @ארכיטקט

    התנצלותי, התברר שהיה שם איזה טעות אחרת בקוד שמחזיר את התאריך למצב מאופס....

    רק תסביר לי העלית בהודעה שלך קטע שבכלל לא הרצת? 😢

    פורסם במקור בפורום CODE613 ב23/07/2014 18:16 (+03:00)

    ארכיון code613m

  • חיבור בין 2 שדות תאריך ב SQL SERVER
    dovidD dovid

    כנראה 2008 או קדום.
    נסה ככה:

    DECLARE @d AS DATETIME  = GETDATE();
    DECLARE @t AS TIME(7) = '01:00:00';
     
    SELECT @D + CAST(@t AS DATETIME);
    

    פורסם במקור בפורום CODE613 ב23/07/2014 17:21 (+03:00)

    ארכיון code613m

  • חיבור בין 2 שדות תאריך ב SQL SERVER
    dovidD dovid

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

    וטיפ לחיפוש בגוגל השתמש במילים אלו: sql server combine date time

    פורסם במקור בפורום CODE613 ב23/07/2014 11:39 (+03:00)

    ארכיון code613m
  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום