725
צפיות
צפיות
6
תשובות
תשובות
LINQ DeleteAllOnSubmit()
היי,
יש לי שאילתת לינק שאמורה לבצע מחיקה של רשומות לפי ה- ID שלהן.
יש לי מערך של ID למחיקה, ואני רוצה לכתוב שאילתה שתדע לעבור על כולו ולמחוק את הרשומות מה DB לפי ה ID במערך השני.
תודה לעונים!
היי,
יש לי שאילתת לינק שאמורה לבצע מחיקה של רשומות לפי ה- ID שלהן.
יש לי מערך של ID למחיקה, ואני רוצה לכתוב שאילתה שתדע לעבור על כולו ולמחוק את הרשומות מה DB לפי ה ID במערך השני.
תודה לעונים!
6 תשובות
קטכ קוד שהוא פתרון.
<?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
תודה אבל..
סביבת הפיתוח שלי היא ASP.NET אז PHP לא עוזר במיוחד..
גם חשוב לי שזה יהיה ב LINQ ולא שאילתת SQL רגילה.
האם אתה יכול להשתמש ב 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:[email protected]
PHP , ASP , ASP.NET C# , PHP SYMFONY FRAME WORK HTML CSS PHOTOSHOP
קודם כל אני בת

דבר שני – אם יכלתי להשתמש ב 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);
וזה עובד מצויין… אז שיהיה פה כפתרון לכל מי שיצטרך..
בסוף השתמשת ב IN חחח
Dvir Levanon
Web Site: http://www.vise.co.il
E-mail:[email protected]
PHP , ASP , ASP.NET C# , PHP SYMFONY FRAME WORK HTML CSS PHOTOSHOP
כן אבל התחביר שונה
וזו הייתה השאלה שלי בעצם..
כי אם הייתי רושמת את המילה IN הייתי מקבלת שגיאת קומפילציה – רציתי לדעת מה המקבילה של זה ב- LINQ (והתשובה היא contains)