שלח תשובה

זירת השאלות

555
צפיות
18
תשובות

בעיה עם פונקציות בVBS

,‏ 23 באוגוסט, 2004

אז ככה, כל פונקציה שאני כותב בצד השרת (VBS) נותן לי שגיאה Type mismatch!
למשל:
mid, instr, CInt…
אני לא יכול לעבוד ככה..
בבקשה תנסו לעזור לי, יש לי עבודה אני מתכנת משהו ולא נשאר לי הרבה זמן אני חייב לסיים וזה מעקב אותי..

תודה לכולם!

תגיות:

18 תשובות

  1. Night הגיב:

    התפתחויות
    עשיתי דף ASP חדש וInStr עבד. אני לא יודע למה זה ככה…
    הקוד נכון אני דיי בטוח..
    פעם זה עובד לי פעם זה לא עובד..

  2. MasterMind הגיב:

    לא קרא לי אבל..
    אתה מכריז על השפה וה CODEPAGE ?

  3. Night הגיב:

    האמת שלא..
    אבל בנתיים זה בסדר זה עבר.. בהתקף הבא אני ינסה

    תודה

  4. Night הגיב:

    יש לי עמודה בשם Desc שהיא מילה שמור
    שמורה.
    מה לכתוב במשפט הSQL כדי למנוע שגיאה?
    אני עובד עם MySQL

  5. תראה קטע קוד
    של אחת מהפונקציות שלא עובדות לך.

  6. Night הגיב:

    בעיה עם מערך
    קוד:


    <%Response.Write art(0,0)%>

    שגיאה:


    Expected ')'
    /kasata/Magazine/ShowArt.asp, line 164, column 23
    Response.Write(art(1,0)
    ———————-^

    הוא טוען שאחרי הwrite יש ) אבל אין! אני לא קולט מה הוא רוצה…
    מה הבעיה פה?

  7. BuildHome הגיב:

    אז פשוט
    תשים סוגריים בין הערך.

    <%Response.Write(art(0,0))%>

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

  8. Night הגיב:

    ניסיתי את זה כבר..
    והוא אומר שיש "(" מיותר!

  9. זהר פלד הגיב:

    אתה בטוח שזו השורה הנכונה?
    כי נתת שורת קוד אחת, ובהודעת השגיאה הראת שורת קוד אחרת…

  10. Night הגיב:

    מה הפונקציה המקבילה לMAX בMySQL?
    תודה

  11. Night הגיב:

    Application.Lock & Unlock
    שעושים lock אז זה נועל את כל משתני האפלקציה? אין אפשרות לנעול אחד?

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

    תודה.

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

    למיטב ידיעתי
    MAX זה פונקציית SQL שלא שייכת למסד מסוים אלא פשוט מובנית ב-SQL

    ניסית להפעיל אותה וזה לא הצליח לך ?

  13. Night הגיב:

    האמת שהפונקציה עובדת אבל..
    הינה הקוד:


    dim conn, dsn, rs, sql
    dsn="DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=kingnet_trivia; UID=root; PWD=; OPTION=35;"
    sql="SELECT MAX(QID) FROM questions LIMIT 1"
    set conn=Server.CreateObject("ADODB.Connection")
    conn.Open dsn
    set rs=Server.CreateObject("ADODB.Recordset")
    rs.ActiveConnection=conn
    rs.Open sql
    Response.Write rs("QID")

    בשורה האחרונה השגיאה נמצאת.
    השגיאה היא:


    ADODB.Recordset (0x800A0CC1)
    Item cannot be found in the collection corresponding to the requested name or ordinal.
    /kingnet/trivia/1.asp, line 10

    כאשר שורה 10 היא Response.Write rs("QID").
    ניסיתי לשים תנאי שבודק את rs.eof וזה מחזיר אותה שגיאה.

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

    אתה צריך להשתמש ב-ALIAS
    כדי לפנות לערך מסוים בנעשה ע"י פונקציה מסוימת (ALIAS ברירת המחדל הוא expr1 או משהו כזה)
    נסה ככה:

    dim conn, dsn, rs, sql
    dsn="DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=kingnet_trivia; UID=root; PWD=; OPTION=35;"
    sql="SELECT MAX(QID) AS maxQID FROM questions LIMIT 1"
    set conn=Server.CreateObject("ADODB.Connection")
    conn.Open dsn
    set rs=Server.CreateObject("ADODB.Recordset")
    rs.ActiveConnection=conn
    rs.Open sql
    Response.Write rs("maxQID")

  15. Night הגיב:

    שגיאה מוזרה. לא מצויינת השורה הבעיי
    הבעייתית!
    הינה השגיאה:


    Response object, ASP 0106 (0x80020005)
    An unhandled data type was encountered.

    הקוד דיי ארוך אני לא יודע איפה הבעיה…
    יש למישהו רעיון? זה קרה למישהו בעבר?

    תודה לעוזרים

שלח תשובה