שלח תשובה

זירת השאלות

268
צפיות
35
תשובות

בעיה בבניית פורום רקורסיבי

,‏ 6 ביוני, 2004

השגיאה:

Microsoft VBScript compilation error ‘800a0401’

Expected end of statement

/masterPlus/forums/forum.asp, line 104

cntRec = cint(rs1.fields("total"));
———————————-^


שורה 101:

cntRec = cint(rs1.fields("total"));


חלק מהקוד (השורה נמצאת בו):

<%
paggingQuery = "SELECT COUNT(fixedForum.rootID) as total FROM fixedForum"
rs1.Open paggingQuery, oConn
cntRec = cint(rs1.fields("total"));
rs.Close
%>


מה הבעיה? (ניר, הקוד מהמאמר שלך)
תודה

תגיות:

35 תשובות

  1. עכשיו השגיאה היא


    Microsoft JET Database Engine error ‘80040e14’

    Syntax error in FROM clause.

    /masterPlus/forums/forum.asp, line 59

    שורה 59

    rs.Open query, Conn

  2. אוריקס הגיב:

    נסה את זה:


    paggingQuery = "SELECT COUNT(fixedForum.rootID) as [total] FROM fixedForum"

  3. MasterMind הגיב:

    שאלה שקשורה
    גם לי יש את הבעיה הזאת אבל יש לי בעיה יותר גדולה
    איך אני יוצר את השאילתה ?
    הרי נכנסתי לשאילתות עשיתי יצירת חדשה
    העברתי את כל העמודות ולחצתי על SQL העתקתי כל מה שהיה רשום וזה הציג לי שגיאה  
    שמשהו שם לא תואם !
    ניר   תוכל אולי להביא לי תמונה או משהו כזה מה לכתוב בשאילתה
    ואם תוכל גם לענות על השאלה הקודמת של תומר  גם אני נקתעתי בה !
    תודה מראש  נועם

  4. אותה השגיאה שאמרתי קודם


    Microsoft JET Database Engine error ‘80040e14’

    Syntax error in FROM clause.

    /masterPlus/forums/forum.asp, line 59

    שורה 59

    rs.Open query, Conn

    חלק מהקוד ששורה 59 נמצאת בו

    query ="SELECT forum.fId, forum.id, forum.parentId, forum.subjet,forum.message,forum.rootId" & _
    " FROM forum" &_
    "WHERE fId=" & request.querystring("fId") & "forum.rootId in ("&subQuery&")" &_
    " ORDER BY forum.id"

    SET rs = Server.CreateObject("ADODB.Recordset")
    rs.Open query, Conn
    cntFields = rs.fields.count ‘ count of fields that we selected
    strRecArray = rs.getString(2,-1, ",", ",")
    rs.Close
    Set rs = Nothing

  5. MasterMind הגיב:

    סידרתי את זה אבל יש לי שאלה אחרת
    ולתשובה בשבילך הוא רשם
    SUBJECT  בלי  C   תשנה את זה וזה יפעל לך
    ולשאלתי  
    הבכול הסתדר  אבל כשניסיתי ללחוץ כדי שההודעה תיפתח
    זה הביא לי שגיאה !
    "נדרש אובייקט"
    והוא לא רושם שורה!
    עוד משהו  שהוא  מציג לי רק את הרשומה הראשונה !
    איך אפשר לסדר את זה ??
    תודה מראש  נועם

  6. אוריקס הגיב:

    נסה את זה:


    query ="SELECT forum.fId, forum.id, forum.parentId, forum.subjet,forum.message,forum.rootId" & _
    " FROM forum" &_
    " WHERE fId=" & request.querystring("fId") & " forum.rootId in ("&subQuery&")" &_
    " ORDER BY forum.id"

    SET rs = Server.CreateObject("ADODB.Recordset")
    rs.Open query, Conn
    cntFields = rs.fields.count ‘ count of fields that we selected
    strRecArray = rs.getString(2,-1, ",", ",")
    rs.Close
    Set rs = Nothing

  7. MasterMind הגיב:

    אוריקס אל תטעה אותו
    מה שעשית זה בסדר גמור רק החלק הזה
    forum.subjet
    לא נכון

  8. תעשה כך:


    "WHERE fId=" & request.querystring("fId") & " and forum.rootId in ("&subQuery&")" &_

  9. ניר טייב הגיב:

    בקשר למאמר
    לפני כמה זמן הפנו את תשומת ליבי שיש טעויות בקודים
    כתבתי קובץ תיקון ושלחתי אותו לאיציק(SETUP) ולמנהלי האתר(הילדה והפשוי)
    הילדה הייתה אמורה לתקן את המאמר ביום שבת האחרון אך לא הזדמן לה לתקנו. (מקווה שזה יעשה בשבת הקרובה)
    בקשר לתיקון המאמר ב-SETUP אני צריך לדבר עם איציק ועד עכשיו לא יצא לי

    קובץ התיקון מצורף (בקוד) מבקש שלא תעשו העתק-הדבק אלא תראו איפה היו הטעויות

  10. MasterMind הגיב:

    אוקיי הסתדר עכשיו לשאלה אחרת
    תיקנתי את הטעויות שהיו והכול פועל עד שאני צריך להוסיף תגובה
    אני לוחץ הוסף תגובה וכתוב לי למעלה ADDMESS.asp?ID=
    וזהו  הנה הקוד של  "הוסף תגובה"
    תגידו לי איפה הטעות !


       document.write("<a href="addMess.asp?id="" + recArray[index] + "&rootId=" + recArray[index+4] + "" >הוסף תגובה</a>")

    ועוד שאלה  איך נועצים ??

  11. אוריקס הגיב:

    צודק… איך לא חשבנו על זה
    רק שהוא צריך גם רווח בין המילים, אין רווח בין ה WHERE ל FROM.

  12. ניר טייב הגיב:

    טוב…


    document.write("<a href="addMess.asp?id="" + recArray[index] + "&rootId=" + recArray[index+4] + "" >הוסף תגובה</a>")


    הופך לזה


    document.write("<a href="addMess.asp?id=" + recArray[index] + "&rootId=" + recArray[index+4] + "" >הוסף תגובה</a>")

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

  13. MasterMind הגיב:

    אוקיי עכשיו הוא אומר לי
    קבוע מחרוזת לא גמור !
    השגיאה נמצאת פה


    <select name="NextPre" onChange="location.href=’forum.asp?id=’+NextPre.value">
    <script type="text/javascript">
    var total, recForPage, pageCount
    total = Math.round(<% =cntRec %>)
    recForPage = 15
    pageCount = Math.round(total/recForPage)
    if (pageCount<=0)
          pageCount=1;
    for (var i=1;i<=pageCount;i++)
      document.write("<option value=""+i+"">"+i+"</option>");
    </script>
    </select>

  14. אני עושה מערכת פורומים
    אז אני מנסה לשנות את השאילתות שישלפו רק מהID של הפורום הספציפי
    השאלה שלי היא איך אני שם שתי התניות בWHERE?

  15. אתה לא עושה שתיים
    אתה משתמש בand לדוגמא

    select … where forumid = 1 and ‘המשך השאילתה

  16. MasterMind הגיב:

    מה זו הטעות הזאת ?
    "קבוע מחרוזת לא גמור"

  17. ניר טייב הגיב:

    טוב…
    יש לך את השגיאה באנגלית?
    אני לא ממש מוצא את השגיאה בקוד …

  18. אוריקס הגיב:

    נסה את השורה הזאת:


    document.write("<option value="""+i+""">"+i+"</option>");

  19. MasterMind הגיב:

    לאא….
    אני התבלבלתי הטעות היתה בשורה 3  תווים 87
    ואני אמרתי שהטעות היא בשורה 87  !
    אבל אני יכול להגיד לך בוודאות שהטעות היא ב JS
    צירפתי תמונה כדי שתיראה !
    והקוד הוא כמעט אותו קוד כמו שלך !

  20. MasterMind הגיב:

    שורה שלא קשורה
    שורה שלוש היא ההכרזה על הקונקשיין !


    Set oConn = Server.CreateObject("ADODB.Connection")

    ויש לי עוד שאלה השאילתה הזאת נכונה ?


    SELECT forum.ID, forum.parentId, forum.subject, forum.message, forum.rootId, forum.fid FROM forum WHERE  forum.fid= 1 AND forum.rootID in ("&subQuery&") ORDER BY forum.id , forum.groupDate"

    בסך הכול הוספתי כמה דברים בשביל מערכת פורומים !

  21. ניר טייב הגיב:

    שמת לב למה שאתה כותב?!
    אתה פותח גרשים כותב קצת סוגר את הגרשיים ומכניס את התו ""
    זה יניב לו שגיאה הרצה של JS

  22. MasterMind הגיב:

    הנה
    הבאתי את כל החלק הראשון

    <script type="text/javascript">
    var recArray = "<% =strRecArray %>"
    recArray = recArray.substr(0, (recArray.length-1))
    recArray = recArray.split(",")
    var cntFields = new Number(<% =cntFields %>);
    for (var i=0;i<recArray.length;i+=cntFields){
        if (recArray[i+1]==0){
            showMessage(i);
         }
    }

  23. אני בונה מגזין
    ויש לי כתבות, לכל תגובה יש תגובות, ויש לי בעיה.

    השגיאה

    Microsoft JET Database Engine error ‘80040e14’

    Syntax error (missing operator) in query expression ‘id=’.

    /masterPlus/magazine/showArticle.asp, line 39

    שורה 39 (שלדעתי אין לה קשר)

    rs.Open sql,conn

    חלק מהקוד

    <%
    dim conn
    set conn=server.createobject("adodb.connection")
    dim ConnString
    ConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &_
    Server.MapPath("magazine.mdb") & ";"
    conn.Open connString
    dim rs,sql
    set rs=server.CreateObject("adodb.recordset")
    sql="select * from articles where id=" & request.querystring("Id")
    rs.Open sql,conn
    %>

    <%do while not rs.eof%>
    <b style="font-size:13pt"><%=rs("title")%></b><br>
    <b><%=rs("shortDes")%></b>
    <br>
    <%=rs("body")%><br>
    <b>מאת:</b> <%=rs("author")%>.<br>
    <b>תאריך פרסום:</b> <%=rs("Date")%>.
    <br><br>
    <%rs.movenext
    loop%>

    תודה

  24. נסו להיכנס לפה
    הכל יפעל, אחר כך נסו להוסיף תגובה ותראו את השגיאה
    לינק

  25. MasterMind הגיב:

    תשובה
    תעשה דבר כזה


    ID = cint(Request.QueryString("ID"))

    ובקריאה תעשה ככה


    SQ = "Select * from tbl where ID = " & ID
    rs.Open SQ, Conn , 3 , 3

  26. ניר טייב הגיב:

    שמע
    תפתח את הקוד מקור. לא של הקובץ עצמו אלא את הקובץ בעיבודו הסופי ותבדוק שאין לך גרשיים (") שהורסים את המחרוזת של ה-GETSTRING

  27. אוריקס הגיב:

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

  28. MasterMind הגיב:

    לא הבנתי ניר !
    הנה הקוד מקור של הדף שמציג את ההודעות !
    תוכל להגיד לי איפה הטעות ??

    <script type="text/javascript">
    var recArray = "2,0,1,1,2,1,4,2,2,2,4,1,13,0,3,3,13,1,14,0,123,123,14,1,15,4,נועם,נעופ
    ,4,1,16,4,נועם,נעו,4,1,17,4,ניסוי,הצליח,4,1,18,4,גדכ,שדגעכ,4,1,19,4,גכ,כ,4,1,20,0,123,123,20,1,21,0,123,123,21,1,"
    recArray = recArray.substr(0, (recArray.length-1))
    recArray = recArray.split(",")
    var cntFields = new Number(6);
    for (var i=0;i<recArray.length;i+=cntFields){
        if (recArray[i+1]==0){
            showMessage(i);
         }
    }

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

שלח תשובה