שלח תשובה

זירת השאלות

525
צפיות
6
תשובות

LINQ DeleteAllOnSubmit()

,‏ 3 בפברואר, 2009

היי,
יש לי שאילתת לינק שאמורה לבצע מחיקה של רשומות לפי ה- ID שלהן.
יש לי מערך של ID למחיקה, ואני רוצה לכתוב שאילתה שתדע לעבור על כולו ולמחוק את הרשומות מה DB לפי ה ID במערך השני.

תודה לעונים!

תגיות:

6 תשובות

  1. mrmistory הגיב:

    קטכ קוד שהוא פתרון.


    <?php
    $array_ids = array("1","45","6","23");
    foreach($array_ids as $val)
    {
        mysql_query("DELETE FROM `my_tbl` WHERE `my_id` = ".$val) or die("Error:<BR>".mysql_error());
    }
    ?>

    כתובות אינטרנט נלוות:
    למידע נוסף…


    אלברט אמיר.
    אלמיר מערכות תוכנה.
    http://www.almir.co.il

  2. sharons הגיב:

    תודה אבל..
    סביבת הפיתוח שלי היא ASP.NET אז PHP לא עוזר במיוחד..
    גם חשוב לי שזה יהיה ב LINQ ולא שאילתת SQL רגילה.

  3. vsystems הגיב:

    האם אתה יכול להשתמש ב IN?
    DELETE FROM table_name
    WHERE table_name.ID IN [1,2,3,4,5]
    או שם משתנה המערך במקום.

    אם הבנתי נכון.

    אם לא ויש לך FORGIN KEY אז יש לך אפשרות לבצע מה יקרה כאשר הKEY הראשון ימחק, אתה יכול לבחור ב DELETE


    Dvir Levanon
    Web Site: http://www.vise.co.il
    E-mail:dvir.levanon@gmail.com
    PHP , ASP , ASP.NET C# , PHP SYMFONY FRAME WORK HTML CSS PHOTOSHOP

  4. sharons הגיב:

    קודם כל אני בת
    דבר שני – אם יכלתי להשתמש ב IN לא הייתי צריכה לשאול פה
    בסוף פתרתי בצורה שנראית לי גם מאוד נכונה:
    עשיתי split למחרוזת המכילה IDs למחיקה ויצרתי מערך int של ID.
    ב- LINQ כתבתי שאילתה שנראית בערך ככה:


    int[] arrayID = request.form["del"].Split(',');
    var toDelete = (from c in db.tblComments where arrayID.Contains(c.ID) select c).toArray();

    db.tblComments.DeleteAllOnSubmit(toDelete);

    וזה עובד מצויין… אז שיהיה פה כפתרון לכל מי שיצטרך..

  5. vsystems הגיב:

    בסוף השתמשת ב IN חחח


    Dvir Levanon
    Web Site: http://www.vise.co.il
    E-mail:dvir.levanon@gmail.com
    PHP , ASP , ASP.NET C# , PHP SYMFONY FRAME WORK HTML CSS PHOTOSHOP

  6. sharons הגיב:

    כן אבל התחביר שונה
    וזו הייתה השאלה שלי בעצם..
    כי אם הייתי רושמת את המילה IN הייתי מקבלת שגיאת קומפילציה – רציתי לדעת מה המקבילה של זה ב- LINQ (והתשובה היא contains)

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!