עדכון רשומה ב asp.net

Visual Web Developer 2005

אני מתחיל פיתוח ב asp.net, אחרי שנים של עבודה ב ASP . הורדתי את הנ"ל, בגרסת בטא, ושאלתי למומחים: האם כדאי לעבוד איתו? אין לי ויז'ואל סטודיו, והוא נראה יותר רב תכונות ממטריקס שאיתו התחלתי ללמוד. האם גם אצלכם הוא איטי כל כך? המעבר בין חלונות, בין source ל design ? האם הוא הולך להיות חינם גם בגרסתו הסופית? מי שהתנסה, אנא תנו חוות דעת. ואם יש איזה מקור, ספר, אתר, ללמוד אותו, גם כן אשמח לשמוע. תודה.
 
איך גורמים לתא בגריד לקבל dir=rtl ?

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

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

YardenST

New member
תא ספציפי? או שורה שלמה?

אם זו שורה שלמה של נותונים אתה יכול לתת לה או class אשר כולל את הdirection או פשוט כך:
<span style="direction:rtl"> your data.. </span>​
מקווה שהבנתי ושאתה הבנת
 

roee

New member
לא צריך להיות פרופרטי כזה.

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

סליחה אם זו שאלה טפשית, (בהתחלה עוד מותר), אבל אני עובד עם הכלי הויזואלי של visual web developer . והוא כמובן יוצר קוד, שאני לא מעיז לגעת בו. יש לי חלון עריכת מאפייני השדות בגריד. איפה דוחפים את ה span ? הרי כל הטבלה נוצרת בזמן ריצה, היא בכלל לא קיימת בקוד. איך נותנים קלאס לשורה או לתא? (שוב, הרי אין לי תג TR ולא TD .) תודה.
 

YardenST

New member
מזאת אומרת?

אתה עושה הכל דרך העיצוב? כנס לקוד (שמותר לגעת בוא
) תיצור רשומה משלך ותכניס את תגית הspan לדוגמא, תביא את הקוד הספציפי של הdatagrid ואני אראה לך אם לא תצליח.
 

סומבודי

New member
תשובה

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

yokidotcom

New member
שרשור שלוש שאלות בנושא

3 שאלות בנוגע לגירסה המלאה של הסטודיו 2005 (לא אקספרס) 1) visual C# 2005 מגיעה עם הכלים לבנית אתר אינטרנט? (וובסייט פרוג'קט ב2005) 2) מה תהיה סביבת המחירים של visual C# 2005? 3) מה סביבת המחירים של מנוי msdn לשנה? תודה
 
עדכון רשומה ב asp.net

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

Zeliran

New member
.....

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

זה מסך פשוט, ובו כ 10 שדות. אנחנו יודעים את המפתח של הרשומה, ורוצים לתת למשתמש לערוך את הנתונים. לראות אותם כמובן, מוצגים בתאים, לשנות אם הוא רוצה, וללחוץ על כפתור לעדכון. את זה אם אתה יודע לעשות - אנא תאר באופן כללי את המסלול. ראיתי שהשדות שומרים על ערכם איכשהו כשאני שולח טופס לעצמו, וזה יפה מאד, אבל כמובן שלגבי database זה לא יעזור לי (או שאני טועה?) לא מאמין שה DB יתעדכן . האם גם בדוט נט עושים דף נפרד לעידכון?
 

chanand

New member
אין צורך בדף נפרד...

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

Zeliran

New member
......

פשוט בארוע של הלחיצה על הכפתור אתה צריך להוסיף את הקוד לעדכון בסיס הנתונים.. אם אתה רק מעדכן נתונים קיימים אז אתה יכול להשתמש בפקודת update (ע"י שימוש ב sqlCommand או oleDbCommand... לפי סוג בסיס הנתונים שלך) אם אתה למשל גם מוסיף\מחסיר\ מעדכן רשומות אז אתה יכול להשתמש ב dataAdapter.Update...
 
מנסה לעזור

אני מקווה שאני מבינה נכון את השאלה. יש לך 10 שדות, למשל textbox , ואתה רוצה לשלוח את ערכם ל-db. אתה לא צריך דף נוסף לעדכון, פשוט בארוע של הכפתור אתה בונה את הפניה ל-db. (אני מבחינת נוחות כותבת את הפניה ל-db ב-class נפרד).במצב כזה יש לך את כל הערכים של השדות, וכן את המפתח של הרשומה. לאחר מכן אתה מוציא הודעה על הצלחת העדכון או מפנה לדף אחר. בהצלחה
 
תודה רבה, הבנתי את העיקרון.

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

מהארוע של הכפתור תקרא למטודה הבאה:
public void UpdateProduct(string modelName,string category,int productId,string description) { // Create Instance of Connection and Command Object SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]); SqlCommand myCommand = new SqlCommand("ProductUpdate", myConnection); // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC SqlParameter parameterModelName = new SqlParameter("@ModelName", SqlDbType.NVarChar, 50); parameterModelName.Value =modelName; myCommand.Parameters.Add(parameterModelName); SqlParameter parameterCategory = new SqlParameter("@Category", SqlDbType.NVarChar, 255); parameterCategory.Value = category; myCommand.Parameters.Add(parameterCategory); SqlParameter parameterProductID = new SqlParameter("@ProductID", SqlDbType.Int, 4); parameterProductID.Value = productId; myCommand.Parameters.Add(parameterProductID); SqlParameter parameterDescription = new SqlParameter("@Description",SqlDbType.NVarChar,3800); parameterDescription.Value=description; myCommand.Parameters.Add(parameterDescription); // Open the connection and execute the Command myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); }​
כמובן שתעדכן את הקוד לפי הפרמטרים שלך ותוסיף StoredProcedure. בהצלחה ולילה טוב.
 
מכירה את אשר יגורתי?

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

itaym02

New member
אולי...

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

Zeliran

New member
......

אם תאה באמת לא משתמש ב SP ואתה רק רוצה לעדכן רשומה אחת אז אתה יכול להשתמש במשהו כזה:
oledbCommand com = new OleDbCommand("MY UPDATE COMMAND", myConnection); con.Open(); com.ExcuteNonQuery(); con.close();​
 
למעלה