שלח תשובה

זירת השאלות

503
צפיות
58
תשובות

אממ יש לי בעיה בהכנסת נתונים למסד

,‏ 8 באוקטובר, 2004



INSERT INTO replies(pid,rtitle,redesc,rby) VALUES(,'dasdasd','asdasdd','asdasda')
Microsoft JET Database Engine error '80040e14'

Syntax error in INSERT INTO statement.

/zombie123/gallery/insert_replies.asp, line 13

תודה מראש
0mri

תגיות:

58 תשובות

  1. BuildHome הגיב:

    תשובה
    פסיק מיותר (?).
    INSERT INTO replies(pid,rtitle,redesc,rby) VALUES(,'dasdasd','asdasdd','asdasda')

  2. BuildHome הגיב:

    עוד דבר
    אתה מנסה להכניס ערך ל-pid ולא הכנסת.
    אתה צריך להוריד אותו מההוספה וכנראה שאתה מנסה להוסיף לו מספר אז יש לך "התנקשות" עם הקשר גומלין שיצרת בין 2 הטבלאות.

  3. 0mri הגיב:

    הוספתי את זה אחרי שראיתי את הבעיה
    לא לפני
    חשבתי שאם אני ישים את ה pid בהוספה אז זה יעזור

  4. BuildHome הגיב:

    pid הוא שדה מסוג מספר?
    ואם אתה לא מוסיף ערך לשדה הנ"ל, איזו שגיאה מופיעה? הקשורה לקשר גומלין?

  5. 0mri הגיב:

    כן..


    INSERT INTO replies(rtitle,redesc,rby) VALUES('דגשדגשד','גשגשדג','שדגשדגש')
    Microsoft JET Database Engine error '80004005'

    You cannot add or change a record because a related record is required in table 'pics'.

    /zombie123/gallery/insert_replies.asp, line 13

  6. ניר טייב הגיב:

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

  7. 0mri הגיב:

    אז איך אני יכול לפתור את הבעיה הזאת

  8. BuildHome הגיב:

    נסה לצלם תמונת מסך של הקשרי גומלין
    שיש לך במסד הנוכחי ותבליט את מה שרלוונטי.

  9. ניר טייב הגיב:

    תכניס גם ID של תמונה
    במשפט ההכנסה שלך
    אחרת זה ימשיך לא לעבוד

  10. 0mri הגיב:

    אני רשמתי את זה מקודם
    והוא אמר לי להוריד את זה ממשפט ההכנסה

  11. 0mri הגיב:

    איך אני יכול להכניס לו ערך דרך הטופ
    ס?

  12. BuildHome הגיב:

    כמו שאתה מכניס כל ערך
    דרך שדה, למשל תיבת select שממנה בוחרים אחת מן התמונות הקיימות.
    אתה חייב שיהיה הקשר מתאים בין 2 הטבלאות.

  13. 0mri הגיב:

    אפשר הסבר יותר ברור בבקשה?
    כי לא הבנתי אותך כל כך
    מזאת אומרת להכניס כמו שאני מכניס דרך שדה.?
    תודה מראש 0mri

  14. BuildHome הגיב:

    אוקי
    אתה צריך להכניס ערך לשדה pid דרך הטופס כמו שאתה מכניס את שאר הערכים לשדות האחרים בטבלה.

    תעשה תיבת select ובקוד ASP תעשה לולאה על כל התמונות הקיימות ובטופס אתה פשוט בוחר באחת התמונות.
    <select name="pic">
      <option value="1">pic1.gif</option>
      <option value="2">pic2.gif</option>
      <option value="3">pic3.gif</option>
    </select>

    pic = Request.Form("pic")
    זה משהו שאתה צריך לדעת.

  15. 0mri הגיב:

    אולי כדי שתראה קודם איך זה נראה
    הנה תיכנס לגלריה ותראה איך זה

    http://i.domaindlx.com/zombie123/gallery/index.asp

  16. 0mri הגיב:

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

  17. MasterMind הגיב:

    שני דברים יש לי להגיד לך
    1) האתר שהבאת לא פועל
    2) זה לא אומר להיות כל כך בעייתי
    אתה מכניס למסד את המידע הזה
    PICID=המספר של התמונה
    AUTHER-מי כתב את התגובה
    MSG- התגובה
    SUBJECT-נושא התגובה
    עכשיו לרמת הקוד
    אתה עובר עם לולאה על המערך שלך (יותר מהיר -GETROWS) ושולף את הנתונים ככה LOCALHOST/IMAGE.ASP?id=<%arr(0,i)%> (אם אתה משתמש ב i  כאינדקס שלך)
    ואז בדף ה IMAGE אתה שולף את התמונה ואת כל הPICID שמתאים לID של התמונה
    ומציג…..
    יותר מובן מזה  אי אפשר להיות…….
    מקווה שעזרתי

  18. MasterMind הגיב:

    בעע לא רואים את זה יפה
    הנה הקודים שוב


    image.asp?ID=<%=arr(0,i)%>

    כמובן בתנאי שאתה משתמש ב i כאינדקס שלך
    וככה אתה פונה למסד כדי להוציא את כל ה PICID שמתאימים


    "select * from tguvot_to_images where PICID="&ID

    השאילתה הזאת בוחרת את כל השדות(אפשרי לשינוי) מהטבלה של התגובות
    שבPICID שלהם שווה ל ID שנמצא בשורת הכתובת (פונים בעזרת QUERYSTRING)

  19. BuildHome הגיב:

    אז עכשיו
    אתה צריך לעשות שדה נסתר המכיל את ID התמונה הנוכחית שאליה אתה מעוניין להגיב.

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

  20. 0mri הגיב:

    טוב תודה לכולם הסתדרתי כבר פשוט
    הייתה לי טעות (שחכתי לרשום בטופס method="post")
    אממ דרך אגב אם מישו יכול להגיד לי איך אני יכול לעשות שזה יציג את השעה בישראל
    תודה מראש 0mri

  21. BuildHome הגיב:

    DateAdd
    תוסיף 7 שעות לזמן הנוכחי.
    theTime = DateAdd("h",7,Now)

  22. 0mri הגיב:

    אממ יש לי עוד שאלה קטנה
    נגיד ששמו תמונה והיא לא זמינה אז החלפתי את זה בתמונה שרשום לא זמין
    אבל אני רוצה שאם זה לא יהיה זמין אז לא תיהיה אפשרות להגיב לתמונה הזאת
    תודה מראש.. 0mri

  23. BuildHome הגיב:

    תשובה
    אתה יכול לבדוק מה שם התמונה או ליצור שדה true/false שקובע אם התמונה זמינה או לא ואז לפעול בהתאם.

  24. 0mri הגיב:

    אווקי תודה רבה לך + שאלה
    איך אפשר שהתמונות השתרשרו לצד ולא למטה?
    תודה מראש … 0mri

  25. MasterMind הגיב:

    ע"י טבלה
    תעשה TR אחד ובתוכו תעשה את הלולאה שתיצור את ה TD

  26. 0mri הגיב:

    אממ אני מיתכוון שיעשה לכל הטבלה את
    השרשור לצד

  27. 0mri הגיב:

    אני פשוט רוצה שה
    move next יהיה לצד ולא למטה ושהוא יעשה את זה לכל הטבלה ולא רק בשורה אחת

  28. BuildHome הגיב:

    לא הכי הבנתי
    אבל בעיקרון אתה צריך לדעת כיצד לעשות זאת מאחר וזו לא ממש בעיה.

  29. 0mri הגיב:

    תראה..
    עשיתי טבלה ואז עשיתי לזה move next אבל זה יורד לי למטה ואני רוצה שהוא יזוז לצד.. מקווה שהבנת תודה מראש.. 0mri

  30. 0mri הגיב:

    אממ יש לי שאלה
    האם מתי שעושים update לעמודות אז חובה לרשום תנאי?
    תודה מראש

  31. BuildHome הגיב:

    אתה מתכוון ל-where?
    אם כן אז כן, אתה צריך לציין ערך לרשומה (למשל ID,שם,אימייל וכו') על מנת לעדכן את הרשומה/ות הרצויות.

  32. 0mri הגיב:

    אבל יש לי טבלה שהיא ככה
    sitename
    sitedesc
    sitewallpaper
    מה אני עושה במקרה כזה?

  33. 0mri הגיב:

    מה שרשמתי בהודעה הקודמת
    זה העמודות שיש בטבלה ואין לזה איידי ID או משהו

  34. Dj NaSh הגיב:

    אתה לא חייב Where
    ה-Update נעשה לכל הרשומות בטבלה שעומדות בתנאים שהגדרת.
    אם לא הגדרת תנאים (קרי, אם לא כתבת Where), אז ה-Update יעשה לכל הרשומות בטבלה.

    דוגמא:
    אם כתבת:


    UPDATE Table SET sitename='moshe'

    אז הוא ישנה לך את השדות sitename של כל הרשומות בטבלה ל-"moshe".
    (אם יש לך רק רשומה אחת בטבלה, אז זה לא משנה)

  35. BuildHome הגיב:

    אין שדה שהוא ייחודי?
    במידה ואתה זקוק לשדה ייחודי.

  36. 0mri הגיב:

    איך עושים שזה יעשה update
    לפי מה שאני רושם בטופס?

  37. Dj NaSh הגיב:

    למה בדיוק אתה מתכוון?
    אתה מתכוון איך לעדכן את הנתונים ב-DB לפני שאתה מציג מחדש את הדף עם הנתונים העדכניים?

    אם זאת הכוונה, אז תכתוב את הקוד בשורות שלפני שורות ה-HTML, כדי שהוא יריץ את ה-ASP לפני שהוא מציג את הטופס.

  38. BuildHome הגיב:

    כמו למשל ID
    משהו שיהיה ספציפי לכל רשומה.
    למה לא עשית שדה ID?

  39. 0mri הגיב:

    כי זה שם האתר ואני לא יכול לעשות ID

  40. 0mri הגיב:

    לא יש לי שדות כאלה
    sitename – שם האתר
    sitedesc – תאור האתר
    sitewallpaper – רקע לאתר

    ואני רוצה לעשות לזה update דרך טופס

  41. אתה חייב לרשום where..
    תחשוב שאתה אומר לו 'תעדכן ברשומה X את הערך ל- Y'. לאיזה רשומה בדיוק התכוונת? לשורה השלישית, לרביעית, לתשיעית או לעשירית? אתה חייב לרשום תנאי על מנת שידע איפה לעדכן בדיוק את הערכים.

    יש לך שתי אפשרויות:
    1. לצאת מנקודת הנחה שאין שני תאורים זהים לאתרים שונים (לא מומלץ!)
    2. להוסיף רשומה של ID.. בדיוק בשביל המטרות האלה הוא נועד..

    אני מציע לך להשתמש באפשרות השנייה, אם אתה רוצה להמנע מבעיות מיותרות..

    בהצלחה..

  42. 0mri הגיב:

    איזה סוג שדה זה צריך להיות האיידי
    בטבלה?

  43. 0mri הגיב:

    ולמה אני צריך מספור אוטמטי בטבלה
    שלי?

  44. 0mri הגיב:

    כי אני בונה אתר ואני רוצה
    שיהיה אפשר לשנות תשם של האתר דרך טופס

  45. BuildHome הגיב:

    אדייק יותר – אתה זקוקל שדה ייחודי
    לכל רשומה. זה תפקידו של שדה ה-ID.

  46. 0mri הגיב:

    אממ יש לי שאלה
    אני עושה שכל אחד יוכל לדרג את התמונה אבל איך אני יכול לעשות שזה יסכם את כל הדירוכים ביחד אבל שזה יהיה מתחת ל5 כאילו שזה לא יגיע ל100 או משו נגיד 4.5 4.9 5 אבל לא יותר מזה

שלח תשובה