צפיות
תשובות
בעיה בasp קישור למסד נתונים
יש לי מסד נתונים באקסס – ערכתי דף מנהל ואני צריכה למחוק נתונים עידכון , נתונים ועריכה.
בנוסף יש לי טופס הרשמה לאתר, והוא גם עושה בעיות.
קראתי לשאילתת insert בקובץ regsup מה שאומר שקובץ של טופס ההרשמה קורא לו, אבל הוא כותב שאינו נמצא
הנה הקוד שכתבתי בקובץ regsup.asp :
<%
path=server.mappath("db/login.mdb")
set con = server.createobfect("ADODB.Connection")
con.open "driver={Microsoft Access Driver (*.mdb):DBQ="& path
ID=request.form("ID")
fnme=request.form("fnme")
lnme=request.form("lnme")
password=request.form("password")
eml=request.form("eml")
city=request.form("city")
street.request.form("street")
pnam.request.form("pnam")
role.request.form("role")
note.request.form("note")
set r =con.exeute("select * from support where ID=""&id&""
if not r.eof then
response.write "מספר תעודת הזהות שלך כבר נמצאת במאגר"
else
sq = "insert into input3(ID.fnme,lnme,password,eml,city,street,pnam,role,note) value
'"&ID&'" , '"&fnme&'", '"&lnme&'", '"&password&'", '"&eml'", '"&city&'" , '"&street&"', '"&pnam&'", '"&role&"', '"¬e&'")
con.execute.sq
response.write "צורפת לאתר בהצלחה"
%>
<html>
<head>
<title>
</title>
</head>
<body>
</body>
</html>
מה הטעות שלי?
צריכה עזרה דחוף.
נעמה
17 תשובות
כדי לעזור לך צריך ש:
1. תיישרי את הקוד לימין, פעולה מאוד פשוטה שתקל עלינו לקרוא את הקוד
2. תסבירי מה לא בדיוק עובד, ואיזה שגיאה בדיוק חוזרת
3. שתביאי רק את הקוד הרלוונטי לתקלה, אם פירוט על איזה שורה מתקבלת התקלה
אלי ענתבי
entry interactive
http://www.entry.co.il
מעלה את הקבצים
אני אצרף את הקבצים:
יצרתי קובץ טופס
וקובץ שצריך לקשר בין המסד נתונים לטופס .
קובץ regsup.asp
בנוי כך:
|קוד
<%
path=server.mappath("db/login.mdb")
set con = server.createobfect("ADODB.Connection")
con.open "driver={Microsoft Access Driver (*.mdb):DBQ="& path
ID=request.form("ID")
fnme=request.form("fnme")
lnme=request.form("lnme")
password=request.form("password")
eml=request.form("eml")
city=request.form("city")
street.request.form("street")
pnam.request.form("pnam")
role.request.form("role")
note.request.form("note")
set r =con.execute("select * from support where ID=""&id&""
if not r.eof then
response.write "מספר תעודת הזהות שלך כבר נמצאת במאגר"
else
sq = "insert into input3(ID.fnme,lnme,password,eml,city,street,pnam,role,note) value
'"&ID&'" , '"&fnme&'", '"&lnme&'", '"&password&'", '"&eml'", '"&city&'" , '"&street&"', '"&pnam&'", '"&role&"', '"¬e&'")
con.execute.sq
response.write "צורפת לאתר בהצלחה"
%>
תודה
נעמה
OK, זה הקובץ המקבל
אבל מה השגיאה עליו?
אלי ענתבי
entry interactive
http://www.entry.co.il
השגיאה שהוא אינו מצליח להתקשר למסד נתוני
הוא אינו מצליח להכנס למסד נתונים
כותב לי שגיאה כזאת:
Server.MapPath() error 'ASP 0173 : 80004005'
Invalid Path Character
/student/regsup1.asp, line 4
An invalid character was specified in the Path parameter for the MapPath method.
אני לא מצליחה לפתור את זה
אשמח אם למישהו יש פיתרון
נעמה
טעות הקלדה בשורה שניה createobfect
אלי ענתבי
entry interactive
http://www.entry.co.il
תיקנתי ויש עדיין שגיאה
תיקנתי ויש עדיין שגיאה:
set con= Server.CreateObject("ADODB.Connection")
con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ =" & Server.MapPath("/wwwroot/student/db/login.mdb")
f_name=request.form("f_name")
l_name=request.form("l_name")
u_name=request.form("u_name")
password=request.form("password")
password1=request.form("password_1")
eml=request.form("eml")
pnam=request.form("pnam")
esior=request.form("esior")
city=request.form("city")
street=request.form("street")
n_home=request.form("n_home")
sq="INSERT INTO tblCreateUser" (f_name,l_name, u_name, password, password_1,eml,pnam,esior,city,street,n_home)
VALUES f_name,name,u_name,password, password_1, eml, pnam, esior, city , street, n_home
con.execute sq
response.write "צורפת למאגר בהצלחה. תודה על תמיכתך"
%>
מה לעשות כבר מיואשת ):
תודה
נעמה
Server.MapPath
מחזיר לך את המחיצה הראשית של האתר, לדעתי את לא צריכה לכלול בכתובת wwwroot, אם כי זה מאוד תלוי מבבנה סיפריות שלך.
שוב, תיישרי את הקוד, תביאי את השגיאה המפורטת, על איזה שורה היא חוזרת, וננסה לעזור.
אלי ענתבי
entry interactive
http://www.entry.co.il
יישרתי תיקנתי עכשיו הודעת שגיאה אחרת והי
יישרתי תיקנתי ועכשיו הודעת שגיאה אחרת שהיא:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x1114 Thread 0x2578 DBC 0x3a9ef34 Jet'.
/student/regsup1.asp, line 4
הצילו, כבר התייאשתי, צריכה דחוף.
תודה
נעמה
הנתיב לבסיס הנתונים לא נכון
מעבר לזה, תשתמשי בחיבור JET, הוא הרבה יותר יציב
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/dbFolder/dbName.mdb")
צוות WebMaster
הצילו , תיקנתי ויש עדיין שגיאה
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/student/regsup1.asp, line 4
con.open = Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/db/login.mdb") "
מה אני עושה?
צריכה דחוף דחוף.
תודה
נעמה
את לא כותבת נכון
את לא מיישרת את הקוד וכל הזמן כותבת "דחוף". לא כיף לנסות לעזור לך…
כרגע התקלה היא שאת לא משרשרת נכון את השורת חיבור, לא שמת מרכאות בהתחלה.
אם התקלה ממשיכה, אנא הציגי אותה באופן מסודר, כי זה פעם אחרונה שאני אנסה לעזור אם ההודעה לא תוצג נכון.
אלי ענתבי
entry interactive
http://www.entry.co.il
עכשיו יישרתי, מה הטעות שלי?
<%
set con= server.createobject("ADODB.Connection")
con.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/db/login.mdb")
f_name=request.form("f_name")
l_name=request.form("l_name")
u_name=request.form("u_name")
password=request.form("password")
password1=request.form("password_1")
eml=request.form("eml")
pnam=request.form("pnam")
esior=request.form("esior")
city=request.form("city")
street=request.form("street")
n_home=request.form("n_home")
sq="INSERT INTO tblCreateUser" (f_name,l_name, u_name, password, password_1,eml,pnam,esior,city,street,n_home)
VALUES f_name,name,u_name,password, password_1, eml, pnam, esior, city , street, n_home
con.execute sq
response.write "צורפת למאגר בהצלחה. תודה על תמיכתך"
%>
מה הטעות שלי כאן?, אני מקווה שהפעם יישרתי , כמו שצריך.
תודה
נעמה
יישרת מצויין אבל לא כתבת מה השגיאה![](/icon/4.gif)
אלי ענתבי
entry interactive
http://www.entry.co.il
עכשיו זה אומר לי כך:
![](/icon/9.gif)
Microsoft VBScript runtime error '800a000d'
Type mismatch: '[string: "INSERT INTO tblCreat"]'
/student/regsup1.asp, line 16
מה לא בסדר?
כבר מיואשת…
נעמה
לא שרשרת נכון את השאילתה
יש לך ירידות שורה מיותרות, חסרים מרכאות בסוף.
בנוסף רשימת הערכים צריכה לבוא בתוך סוגריים, ולשרשר את המשתנים.
קראי על הסינטקס של INSERT במדריך SQL.
ופה תוכלי לראות דוגמא לשרשור המשתנים:
https://www.webmaster.org.il/article.asp?id=268
צוות WebMaster
עדיין עושה לי שגיאה למרות שעישתי לפי המד
עדיין עושה שגיאה למרות שעשיתי לפי המדריך שלכם הנה הקוד:
<%
Dim conn, SQLstr
set conn= server.CreateObject("ADODB.connection")
conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MaPpath("/")& "../login.mdb;"
conn.open
SQLstr="INSERT INTO tblCreateUse(f_name)"
SQLstr= SQLstr & " VALUES (SQLstr= SQLstr & Request("f_name") & "') "
conn.Execute SQLstr
conn.Close
%>
והשגיאה אומרת:
# Error Type:
Microsoft JET Database Engine (0x80040E14)
שגיאת תחביר במשפט INSERT INTO.
/regsup1.asp, line 6
מה אני עושה?
תודה
נעמה
תמחקי את
המילים המודגשות..
VALUES (SQLstr= SQLstr & Request("f_name") & "') "