צפיות
תשובות
בעיה בשמירת נתוני המשתמש במסד
שלום
ישלי בעיה בשמירת נתוני המשתמש דרך ASP למסד הנתונים (אקסס)
הקוד השגוי הוא–
Conn.Execute Sqltext
הקודהמלאהוא
<%@ LANGUAGE="VBSCRIPT" %>
<%
dim sqlText,Conn
set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DATA"
sqlText= "INSERT INTO outpostDB
(user,password,NAME,Last_name,ID,address,CITY,zip_code,telephone,cellular,email) valus ('"
sqlText=sqlText & Request.form("user") & "','"
sqlText=sqlText & Request.form("password") & "','"
sqlText=sqlText & Request.form("NAME") & "','"
sqlText=sqlText & Request.form("Last_name") & "','"
sqlText=sqlText & Request.form("ID") & "','"
sqlText=sqlText & Request.form("address") & "','"
sqlText=sqlText & Request.form("CITY") & "','"
sqlText=sqlText & Request.form("zip_code") & "','"
sqlText=sqlText & Request.form("telephone") & "','"
sqlText=sqlText & Request.form("cellular") & "','"
sqlText=sqlText & Request.form("email") &"')"
Conn.Execute Sqltext
Conn.Close
set conn = Nothing
%>
ההודעה שמוצגת לי במקום הדף היא
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO
statement.
/projects/adduser.asp, line 25
Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322;
.NET CLR 2.0.50727)
Page:
GET /projects/adduser.asp רציתי לדעת מה הבעיה ואיך אוכל לתקן אותה תודה
—
6 תשובות
השאילתה לא טובה
שם השדה הוא לא מחרוזת, ובכלל, אתה לא יכול לרדת שורה סתם ככה במחרוזת.
נסה לעשות משהו כזה:
sqlText='" & sqlText & Request.form("Last_name") & "',
שים לב, אפריים…
קודם כל, הודעת השגיאה שהוצגה היא של SQL, ולא של VBS, מה שאומר שה VBS תקין.
דבר שני, יש באתר מאמר על איך לדבג SQL. מומלץ.
טעות שלי
נסה ככה:
sqlText= "INSERT INTO outpostDB "
sqlText = sqlText & "(user,password,NAME,Last_name,ID,address,CITY,zip_code,telephone,cellular,email) valus ('"
עדייו יש את אותה בעיה
שיניתי לפי מה שאמרת לי אבל עדיין שי בעיה
כאשר אני שם את הקוד
Conn.Execute Sqltext
בהערה חא מוצג לי דף שגוי מוצג לי
הדף שאומר שהפרטים נשמרו במערכת
אבל הפרטים שהמשתמש הקיש אינם נשמרים
מה לעשות ??
אז ככה…
כמה דברים, דבר ראשון למה אתה כל פעם משרשר את המשתנה.
מה הבעיה לעשות ככה
sqlText= "INSERT INTO outpostDB " &_
"(user,password,NAME,Last_name,ID,address,CITY,zip_code,telephone,cellular,email) valus ('"
וכך הלאה.
דבר שני לפני שאתה מפעיל את השאילתה, מאוד ממליץ לך קודם לרשום את השאילתה את המסך ותראה מה הבעיה בעניים שלך.
אם אתה לא מצליח למצוא את הבעיה, תדפיס את השאילתה ותעתיק אותה לפה אנחנו ננסה למצוא את הבעיה.
דבר נוסף אם אתה עובד עם ACCESS תעתיק את השאילתה לאקסס ותנסה להפעיל אותה שם, התוכנה תראה לך את הבעיה המדוייקת אם תהיה כזאת.
נסה את זה
נסה להציג את השאילתא למסך במקום להריץ אותה מול ה DB, את השאילתה תעתיק ותריץ ישירות מול ה DB דרך ממשק SQL, בדרך כלל זה עוזר לראות את הבעיה