שלח תשובה

זירת השאלות

678
צפיות
14
תשובות

עדכון נתונים

,‏ 21 ביולי, 2008

שלום רציתי לשאול מה הבעיה הקוד הבא



<%@ Language=VBScript codepage=1255%>
<%if session("Login") <> true then Response.Redirect "login.asp"%>
<%
Dim uName, myStr, conn, rs, conStr, rsStr, uDate, titleStr,sqlText
uName = session("uName")
Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:outpost.mdb"

    sqlText="UPDATE People"

      SET U =  Request.form("U")
      SET P =  Request.form("P")

      SET NAME = Request.form("NAME")
      SET Lastname =  Request.form("Lastname")
      SET ID =  Request.form("ID")
      SET address =  Request.form("address")
      SET CITY = Request.form("CITY")
      SET zipcode = Request.form("zipcode")
      SET telephone =  Request.form("telephone")
      SET cellular =  Request.form("cellular")
      SET email =  Request.form("email")
      WHERE People=("uName")

  
conn.Close
set conn = nothing
%>







שמופיע לי הודעת השגיאה הבאה





——————————————————————————–

Technical Information (for support personnel)

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'WHERE'
/project1/UPDET.asp, line 34


Browser Type:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)

Page:
POST 106 bytes to /project1/UPDET.asp

POST Data:
name=&lastname=&ID=&address=&city=&zipcode=&phon=&cellular=&email=&submit1=%F2%E3%EB%E5%EF+%F4%F8%E8%E9%ED

Time:
‏יום שני ‏י"ח ‏תמוז ‏תשס"ח, 22:08:51


More information:
Microsoft Support





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

תגיות:

14 תשובות

  1. המשפט SQL שלך לא בנוי נכון
    קרא על שאילתת UPDATE

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


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

  2. raychin הגיב:

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

  3. raychin הגיב:

    נתוני המשתמש אינם מתעדכנים למרות התיקון
    תיקנתי את הקוד
    להלן הקוד החדש

    <%@ Language=VBScript codepage=1255%>
    <%if session("Login") <> true then Response.Redirect "login.asp"%>
    <%
    Dim uName, myStr, conn, rs, conStr, rsStr, uDate, titleStr,sqlText
    uName = session("uName")
    Set conn = Server.CreateObject("ADODB.Connection")

    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:outpost.mdb"

    sqlText="UPDATE People" & _
          " SET U = "& Request.form("U") & _
          " SET P = "& Request.form("P") & _
          " SET NAME = "& Request.form("NAME") & _
          " SET Lastname = "& Request.form("Lastname") & _
          " SET ID = "& Request.form("ID") & _
          " SET address = "& Request.form("address") & _
          " SET CITY = "& Request.form("CITY") & _
          " SET zipcode = "& Request.form("zipcode") & _
          " SET telephone = "& Request.form("telephone") & _
          " SET cellular = "& Request.form("cellular") & _
          " SET email = "& Request.form("email") & _
          " WHERE People = "& Request.form("uName")

      
    conn.Close
    set conn = nothing
    %>

    ונתוני המשתמש אינם מתעדכנים הדף רץ כמו שצריך רציתי לשאול מה הבעיה שנתוני המשתמש אינם מתעדכנם לי תודה


    אברהם רפאל

  4. עדיין המשפט SQL שלך לא תקין…
    שאילתת עידכון נראית ככה:

    UPDATE tblName  
    SET column1=value1,
       column2=value2  
    WHERE condition(s)

    ז"א יש לך פקודה SET אחת ולא הרבה כפי שעשית. עידכון הרפה שדות מתבצע ע"י הפרדת פסיקים.

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

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


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

  5. raychin הגיב:

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

    sqlText="UPDATE People" & _
          " SET  NAME = "& Request.form("NAME") & _
          " , Lastname = "& Request.form("Lastname") & _
          " , ID = "& Request.form("ID") & _
          " , address = "& Request.form("address") & _
          " , CITY = "& Request.form("CITY") & _
          " , zipcode = "& Request.form("zipcode") & _
          " , telephone = "& Request.form("telephone") & _
          " , cellular = "& Request.form("cellular") & _
          " , email = "& Request.form("email") & _
          " WHERE People = "& Request.form("uName")

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

    שם הטבלה People

    ופרטי הטבלה לפי הסדר הם

    NAME,Lastname,ID,address,CITY,zipcode,telephone,cellular,email


    אברהם רפאל

  6. לא הוספת גרשים לסטרינגים
    לא חוזרת לך שגיאה?


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

  7. raychin הגיב:

    אין לי שום הודעת שגיאה שאני מריץ את הקוד
    מופיע לי הרקע שצריך להופיע שכתוב בו שהנתונים עודכנו בהצלחה


    אברהם רפאל

  8. BuildHome הגיב:

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

    כדי להריץ את השאילתה במסד אתה צריך לכתוב:

    conn.Execute(sqlText)

    ורק אז תחזור לך שגיאה כי השאילתה אינה תקינה.
    אם היא תקינה – לא תקבל שום שגיאה.


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  9. raychin הגיב:

    עכשיו מופיע לי הודעת שגיאה
    הודעת השגיאה


    Technical Information (for support personnel)

    Error Type:
    Microsoft JET Database Engine (0x80040E14)
    Syntax error in UPDATE statement.
    /project1/UPDuser.asp, line 28

    Browser Type:


    אברהם רפאל

  10. BuildHome הגיב:

    תשובה
    כמו שהשפוי אמר לך..יש לך שגיאה בשאילתת UPDATE.
    תבדוק היטב, תלמד אותה טוב טוב.


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  11. raychin הגיב:

    תוכל להסביר לי איכן צריך לתקן כי קראתי א
    את המדריך ולא הבנתי איכן אני צריך לתקן
    תודה


    אברהם רפאל

  12. raychin הגיב:

    תוכל להסביר לי איכן צריך לתקן
    תוכל להסביר לי איכן צריך לתקן כי קראתי את המדריך ולא הבנתי איכן אני צריך לתקן
    תודה


    א.ר.ר

שלח תשובה