שאלות - ASP NET

Night9

New member
שאלות - ASP NET

שלום לכולם
מספר שאלות של מתחיל: 1. אני יודע ששאילתות SELECT מריצים עם ADAPTER ואז ממלאים DS ברשומות שחזרו. עד פה סבבה, אבל מה קורה שאני רוצה להריץ שאילתת INSERT או DELETE? במקרה כזה לא יחזרו רשומות, אבל אם אני לא יעשה cmd.fill(ds) השאילתה לא תתבצע (לפחות לפי הניסיונות שעשיתי). אם אני כן יעשה fill, אז הDS סתם יהיה ריק ויתפוס משאבים. מה הדרך להריץ שאילתות INSERT (או שאילתות אחרות שלא מחזירות רשומות)? 2. בעיה מאוד מוזרה! יש לי מערך של strings, אני רוצה להכניס לDropDownList את האיברים במערך. זה הקוד של הפקד:
<asp:DropDownList ID="cat" runat="server" />​
זה הקוד ב-page_load:
Dim arrCats() As String = _ {"פנאי", "משחקים", "ספורט", "מחשבים"} cat.DataSource = arrCats cat.DataBind()​
משום מה זה לא טוען את איברי המערך לפקד. הקטע העוד יותר מוזר הוא, שאם אני עושה עמוד חדש שמכיל רק את הקוד הזה, זה עובד! מה יכול לגרום לזה לא עובד בעמוד שיש בו קוד נוסף? אשמח לקבל עזרה. תודה!
 

Night9

New member
מצאתי פתרון לבעיה השניה + שאלה

הבעיה השניה נפתרה שהסרתי מהשורה <% Page ... %> מספר דברים, שהוסיף הVWD: AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" מה הדברים האלה אומרים?
 
AutoEventWireup כאשר false

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

HaRmosh

New member
קרא על אובייקט Command

יש לו מתודה שנקראת ExecuteNonQuery, שמיועדת בדיוק לשאילתות עדכון\הכנסה\מחיקה.
 

24sharon

New member
עניתי בעבר בצורה מפורטת

איך מתבצעת הגישה למסדי הנתונים בצורות שונות. אבל החיפוש של תפוז "בלע לי את האפשרות" בעיקרון יש 3 דרכים עיקריות. 1. שליפה של READER (שזה מקביל לASP הישן) ואז עוברים בלולאה על הנתונים, זה במידה ורוצים מערך רשומות. 2. שליפת SCALAR, זה במידה ומעוניינים בעמודה הראשונה בשורה הראשונה, מתאים בעיקר לשאילתות COUNT וSUM וכד' וכן מתאים לדוגמא לטופס לוגין בדיקה אם המשתמש קיים עם שם וסיסמא, select count....where name=... and pass =.... וכן לדוגמא לשאילתא שמקבלת את הIDENTITY האחרון 3 עדכון ללא קבלת ערך ExecuteNonQuery מתאים בעיקר לשאילתות פעולה, שאין צורך בהחזרת ערכים, לדוגמא שאילתת DELETE UPDATE וכד' (האמת זה מחזיר ערך מספרי של כן ולא במידה ושאילתת הפעולה בצעה שינויים במסד) דוגמא למימוש cmd.ExecuteNonQuery(); ניתן למצוא כאן - וכן שימוש נכון עם פרמטרים וUSING. http://www.geula.biz/works/sample/asp%20net/ado/insertDataToDB.aspx ויש גם את הדרך כאשר רוצים את כל מערך הנתונים 'בבת אחת' לתוך DATASET אזי להשתמש עם ADAPTER, אבל זה כבר קצת 'סטיה' מהנושא. בהצלחה
 

Night9

New member
תודה! יש דוגמאות לשניים הראשונים?

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