שלח תשובה

זירת השאלות

662
צפיות
17
תשובות

בעיה בasp קישור למסד נתונים

,‏ 25 במאי, 2008

יש לי מסד נתונים באקסס – ערכתי דף מנהל ואני צריכה למחוק נתונים עידכון , נתונים ועריכה.
בנוסף יש לי טופס הרשמה לאתר, והוא גם עושה בעיות.
קראתי לשאילתת 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&"', '"&note&'")
    con.execute.sq
    response.write "צורפת לאתר בהצלחה"
    
%>
<html>
    <head>
        <title>
        </title>
    </head>
    <body>
    </body>
</html>
מה הטעות שלי?
צריכה עזרה דחוף.
נעמה

תגיות:

17 תשובות

  1. כדי לעזור לך צריך ש:
    1. תיישרי את הקוד לימין, פעולה מאוד פשוטה שתקל עלינו לקרוא את הקוד

    2. תסבירי מה לא בדיוק עובד, ואיזה שגיאה בדיוק חוזרת

    3. שתביאי רק את הקוד הרלוונטי לתקלה, אם פירוט על איזה שורה מתקבלת התקלה


    אלי ענתבי
    entry interactive
    http://www.entry.co.il

  2. na1 הגיב:

    מעלה את הקבצים
    אני אצרף את הקבצים:
    יצרתי קובץ טופס
    וקובץ שצריך לקשר בין המסד נתונים לטופס .
    קובץ 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&"', '"&note&'")
        con.execute.sq
        response.write "צורפת לאתר בהצלחה"
        
    %>

    תודה
    נעמה

  3. OK, זה הקובץ המקבל
    אבל מה השגיאה עליו?


    אלי ענתבי
    entry interactive
    http://www.entry.co.il

  4. na1 הגיב:

    השגיאה שהוא אינו מצליח להתקשר למסד נתוני
    הוא אינו מצליח להכנס למסד נתונים
    כותב לי שגיאה כזאת:
    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.

    אני לא מצליחה לפתור את זה
    אשמח אם למישהו יש פיתרון
    נעמה

  5. טעות הקלדה בשורה שניה createobfect


    אלי ענתבי
    entry interactive
    http://www.entry.co.il

  6. na1 הגיב:

    תיקנתי ויש עדיין שגיאה
    תיקנתי ויש עדיין שגיאה:

        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 "צורפת למאגר בהצלחה. תודה על תמיכתך"
        
    %>
    מה לעשות כבר מיואשת ):
    תודה
    נעמה

  7. Server.MapPath
    מחזיר לך את המחיצה הראשית של האתר, לדעתי את לא צריכה לכלול בכתובת wwwroot, אם כי זה מאוד תלוי מבבנה סיפריות שלך.

    שוב, תיישרי את הקוד, תביאי את השגיאה המפורטת, על איזה שורה היא חוזרת, וננסה לעזור.


    אלי ענתבי
    entry interactive
    http://www.entry.co.il

  8. na1 הגיב:

    יישרתי תיקנתי עכשיו הודעת שגיאה אחרת והי
    יישרתי תיקנתי ועכשיו הודעת שגיאה אחרת שהיא:
    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

    הצילו, כבר התייאשתי, צריכה דחוף.
    תודה
    נעמה

  9. הנתיב לבסיס הנתונים לא נכון
    מעבר לזה, תשתמשי בחיבור JET, הוא הרבה יותר יציב


    "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/dbFolder/dbName.mdb")


    צוות WebMaster  

  10. na1 הגיב:

    הצילו , תיקנתי ויש עדיין שגיאה
    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") "

    מה אני עושה?
    צריכה דחוף דחוף.
    תודה
    נעמה

  11. את לא כותבת נכון
    את לא מיישרת את הקוד וכל הזמן כותבת "דחוף". לא כיף לנסות לעזור לך…

    כרגע התקלה היא שאת לא משרשרת נכון את השורת חיבור, לא שמת מרכאות בהתחלה.

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


    אלי ענתבי
    entry interactive
    http://www.entry.co.il

  12. na1 הגיב:

    עכשיו יישרתי, מה הטעות שלי?


    <%
        
        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 "צורפת למאגר בהצלחה. תודה על תמיכתך"
        
    %>

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

  13. יישרת מצויין אבל לא כתבת מה השגיאה


    אלי ענתבי
    entry interactive
    http://www.entry.co.il

  14. na1 הגיב:

    עכשיו זה אומר לי כך:


    Microsoft VBScript runtime  error '800a000d'

    Type mismatch: '[string: "INSERT INTO tblCreat"]'

    /student/regsup1.asp, line 16

    מה לא בסדר?
    כבר מיואשת…
    נעמה

  15. לא שרשרת נכון את השאילתה
    יש לך ירידות שורה מיותרות, חסרים מרכאות בסוף.
    בנוסף רשימת הערכים צריכה לבוא בתוך סוגריים, ולשרשר את המשתנים.

    קראי על הסינטקס של INSERT במדריך SQL.

    ופה תוכלי לראות דוגמא לשרשור המשתנים:
    https://www.webmaster.org.il/article.asp?id=268


    צוות WebMaster  

  16. na1 הגיב:

    עדיין עושה לי שגיאה למרות שעישתי לפי המד
    עדיין עושה שגיאה למרות שעשיתי לפי המדריך שלכם הנה הקוד:


    <%
        
        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

    מה אני עושה?
    תודה
    נעמה

  17. rjnhojbht הגיב:

    תמחקי את
    המילים המודגשות..

    VALUES (SQLstr= SQLstr & Request("f_name") & "') "

שלח תשובה