צפיות
תשובות
עזרה בבקשה!!
אז ככה, רשמתי קוד שמוסיף נתונים לדטה בייס אבל יש הודעת שגיאה כזו:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] שגיאת תחביר במשפט INSERT INTO.
/ASP3/forum/message.asp, line 8
הקוד של שורה 8:
c.execute("insert into mp(subject,message,time,username) values('" & Request.Form("subject") & "," & Request.Form("message") & "," & Request.Form("time") & "," & Request.Form("username") & "')")
והקוד של הדף כולו:
<%@ Language=VBScript %>
<%
Set c=Server.CreateObject("adodb.connection")
c.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb") & ";"
Set r=Server.CreateObject("adodb.recordset")
r.activeconnection=c
c.execute("insert into mp(subject,message,time,username) values('" & Request.Form("subject") & "," & Request.Form("message") & "," & Request.Form("time") & "," & Request.Form("username") & "')")
if subject="" and message="" and username="" then
Response.Write "<center>You have to write message or subject!</center>"
else
Response.Write "<center>Your message has been sent!"
Response.Write "<a href=messages.asp>Back To the forum</a></center>"
Response.Redirect "messages.asp"
end if
%>
אשמח לקבל עזרה!
תודה מראש!
16 תשובות
אתה…
שוכח לכתוב גרשים ( ' )
נגיד בזה
"," & Request.Form("message") & ","
כך זה היה אמור להיות
"','" & Request.Form("message") & "','"
תודה אבל..
עשיתי וזה לא עזר עדיין יש לי את אותה ההודעת שגיאה.. מה עושים?
time היא מילה שמורה
תודה אבל שוב.
מחקתי את כל מה שרשום בו time וזה לא עזר = עדיין אותה הודעת שגיאה..
אז…
תראה את השאילתא ! (קוד)
אז ככה:
כשמכניסים ערך לשדות מחרוזתיים יש לעטוף אותו בגרש מכל צד, כמו שהראה לך nirtheKing. כשמכניסים ערך לשדה מסוג תאריך יש לעטוף אותו בסולמיות (#) מכל צד.
לא מצליח לי… אני מציע כסף למי ש..
מי שיצליח לעזור לי אני אתן לו כסף.. אני כבר איזה חודש תקוע עם הבעיה הזו.. אז מי שיעזור לי יקבל כסף
בעע שכחתי להוסיף את הקוד
הקוד של הדף כולו:
<%@ Language=VBScript %>
<%
Set c=Server.CreateObject("adodb.connection")
c.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb") & ";"
Set r=Server.CreateObject("adodb.recordset")
r.activeconnection=c
c.execute("insert into mp(subject,message,username) values('" & Request.Form("subject") & "','" & Request.Form("message") & "','" & Request.Form("username") & "')")
Response.Write "<center>Your message has been sent!"
Response.Write "<a href=messages.asp>Back To the forum</a></center>"
Response.Redirect "messages.asp"
%>
בבקשה אני תקוע עם זה כבר שנה.. אני אשמח לקבל עזרה =)
קודם כל, אנחנו לא כאן בשביל כסף.
דבר שני, קראת את שהפניתי אותך אליו?
אני זוכר שכתבתי בו בפירוש שהדרך הכי פשוטה לדבג SQL היא להציג בדפדפן איך נראה משפט ה SQL כמו שהוא מגיע למסד הנתונים… אני לא הולך לכתוב את זה פעם נוספת – קרא את , הפנם, יישם, ורוב הסיכויים הם שתצליח לפתור את הבעיה שלך גם בלי העזרה שלנו. אם אחרי שהפמנת ויישמת את , עדיין לא הצלחת לפתור את הבעיה שלך, אז תכתוב לנו כאן את משפט ה SQL שלך כמו שהוא מגיע למסד הנתונים. אז, ורק אז, נוכל לעזור לך למצוא את הטעות שלך.
לא עזר..
ניסיתי וזה לא עוזר..
תודה! הסתדרתי!
שגיאה: Syntax error in INSERT INTO
מה אומרת השגיאה הזו?
שאתה לא יודע איך להציג שאלות.
אנחנו לא קוסמים
אני אנסה להיות קוסם
שיש בעיה בהכנסת הנתונים לטבלה, הכוחות שלי לא מאפשרים יותר מזה (;
אני מגלה משהו…לפי ההודעות האחרונות שלך אתה משתמש במילים שמורות
תנסה לשנות את שמות הערכים המוכנסים לטבלה
זה…
אומר שיש לך שגיאת תחביר במשפט ה-insert INTO
אני חושב שאני יודע את מה הבעיה אבל.
אבל אני לא בטוח.. טוב אז כשעשיתי את ההוספת נתונים לדטה בייס בלי התאריך שעה.. זה הוסיף. בדף שמממלאים נתונים עשיתי RecordSet ובעשיתי תא ניסתר שהוא שולח נתונים גם עשיתי ככה:
<INPUT TYPE="hidden" VALUE="<%=r("time")%>">
יכל להיות שזה בגלל זה… ויש לי עוד שאלה:
עשיתי דף שמשנה נתונים אבל כשאני רוצה שהוא ישנה הוא לא משנה ואין לי שום הודעת שגיאה או משהו.. הוא פשוט לא משנה.. אם אתם רוצים לראות את זה אז כנסו
http://www5.domaindlx.com/xsite1/phone_book_admin.html
שם משתמש: Yarden
סיסמא: theking
תלחצו על אחד מהשמות תנסו לשנות את הפרטים ואז זה לא עובד =
אשמח לקבל עזרה.. =)