90 likes | 349 Views
הצגנו טבלת משתמשים. היא בנויה כמובן בקוד html אבל בתוך הטבלה משובצים נתונים ששמורים במסד. איך עושים את זה? איך לוקחים נתון מתוך המסד ומשלבים בתוך קוד html ?. קודם כל – נזכיר את הברור מאליו. המסד שמור על השרת. שליפת הנתונים ממנו מתבצעת על השרת.
E N D
הצגנו טבלת משתמשים. היא בנויה כמובן בקוד html אבל בתוך הטבלה משובצים נתונים ששמורים במסד. איך עושים את זה? איך לוקחים נתון מתוך המסד ומשלבים בתוך קוד html?
קודם כל – נזכיר את הברור מאליו. המסד שמור על השרת. שליפת הנתונים ממנו מתבצעת על השרת. לכן הדף שאנחנו מדברים עליו הוא דף aspx. הנתונים נשלפים מהשרת, משובצים לתוך קוד html – והכל מתרחש על השרת ורק כשהקוד הסופי מוכן הוא נשלח למחשב של הגולש. aspx
בשביל לשלוף נתונים מהמסד צריך קודם כל להחליט מה שולפים. את זה מגדירים במשפט בשפת – sql, שפת התקשורת עם מסד הנתונים. שליפת נתונים – פירושו של דבר משפט שיתחיל במילה select select
אם רוצים לשלוף את כל הנתונים מהמסד – המשפט יהיה פשוט ויראה כך: Select * from tablename בחר הכל שם הטבלה במסד
והנה משפט לדוגמה לשליפה על פי תנאים, שכבר השתמשנו בו באתר : Select * from tablename Where (username=‘aaa’) בעמודה הזו אבל רק איפה ש... יש את הערך הזה
נתונים שנשלפים מהמסד נשמרים בתוך : Dataset אנחנו יוצרים dataset , נותנים לו שם (בדרך כלל -ds , כי אז מובן לכולם מה זה ומי זה...) ואז - ממלאיםאותו במה ששלפנו מהמסד
ה- dataset נראה כמו הטבלה במסד, אבל הוא מכיל רק את השורות ששלפנו משם. הנה דוגמה לשלושה datasets שונים: זו דוגמה ל- datasetריק. כנראה שלא מצאנו במסד מה שחיפשנו....
ברגע שיש dataset מלא, אפשר לגשת לכל תא בודד שלו, לקחת את התוכן שלו ולשלב בקוד html הנה השיטה לגישה לתוך תא בודד ב- dataset: ds.Tables[0].Rows[x]["username"].ToString(); שם ה- dataset ואת מה שיש בה, קח והפוך לטקסט, כי אנחנו הולכים לשבץ אותו כטקסט..... לך לעמודה שנקראת... לך לטבלה הראשונה שלו (אצלנו זה ממילא תמיד רק טבלה אחת, אבל חובה לכתוב) לך לשורה ב- dataset שהמספר שלה x (המספר של השורה הראשונה הוא 0 וכך הלאה)
הדרך הטובה ביותר לשלב dataset עם קוד html היא לבנות את הכל בתוך משתנה שצובר בתוכו את הקוד, צעד אחר צעד, ואז בסוף, פשוט לשים את המשתנה הזה בחלק העמוד ששמור לקוד html. לדוגמה: Srtingtxt; Txt= “<table><tr><td>”; Txt +=ds.Tables[0].Rows[0]["user"].ToString(); Txt+= “</td></tr></table>”;