שלח תשובה

זירת השאלות

618
צפיות
24
תשובות

כאשר מוספים טקסט לבסיס נתונים

,‏ 21 בינואר, 2007

כאשר אני מוספים טקסט עם גרש  לבסיס נתונים מסוג אקסיס דרף טופס

עושה לי בעיה ומציג לי שגיאה  מה עושים כדי למנוע את השגיאה

הסיבה היא בגלל שהמשתנה ב SQL נמצא בתוך גרשים


מה הפתרון?

תגיות:

24 תשובות

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

    מכפילים…
    ב SQL, כמו ב VBS, כדי להכניס גרש או מרכאות לתוך מחרוזת, צריך להכפיל אותם:

    Dim sSQL
    sSQL = "SELECT bla WHERE yada = 'asfd"asdf' AND x=1"

  2. JUBRANO הגיב:

    אפשר להכפיל את הגרשים שבתוכם
    יכנס  הטקסט?

    |

    Dim sSQL
    sSQL = "SELECT bla WHERE yada = "asfd  'asdf" AND x=1"
    |

    אפשר כך?

  3. rjnhojbht הגיב:

    למה לא להמיר באסקי?

    Function strFormat(str)
        If IsEmpty(str) or IsNull(str) Then Exit Function
        Str = Replace(str,"'","'")
        Str = Replace(str,"""",""")
        strFormat = str
    End Function

  4. rjnhojbht הגיב:

    טעות בקוד הקודם..

    Function strFormat(str)
        If IsEmpty(str) or IsNull(str) Then Exit Function
          Str = Replace(str,"'","'")
        Str = Replace(str,"""",""")
        strFormat = str
    End Function

  5. rjnhojbht הגיב:

    משום מה הקוד המלא לאעולה, מצ"ב קובץ

  6. JUBRANO הגיב:

    מה זאת אומרת אסקי?
    איך אני מפעיל את פונקציה ואיך קורא לה ומתי

  7. rjnhojbht הגיב:

    אממ..
    צירפתי את הקובץ שוב..

    אתה קורא לפונקציה כך:

    rsUser("text") = strFormat(Request.Form("text"))

    אני מקווה שהפעם זה יעבוד..

  8. rjnhojbht הגיב:

    לא..
    זה השם של הרקודסט.. הtext זה השם של העמודה באקסס..

  9. JUBRANO הגיב:

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

    עכשיו אני צריך עוד רקודסט כדי שאוכל להפעיל את הפונקציה

    נכון?

  10. JUBRANO הגיב:

    קובץ מצורף – נא לבדוק אם
    כתיבת הקוד של הפונקציה עם הריקודדט  נכונה

    תודה

  11. rjnhojbht הגיב:

    זה עובד או לא?
    אם לא, שים את הפונק' בראש הדף..

  12. JUBRANO הגיב:

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

    Function strFormat(str)
        If IsEmpty(str) or IsNull(str) Then Exit Function
        Str = Replace(str,"'",""")
        
        strFormat = str
    End Function

    dtem = date

    SQL = "INSERT INTO user_request (name_user,emel_user,coment_user,datemsg)"
    SQL = SQL & " Values ('" & strFormat(Request.Form("name_user")) & "','" & strFormat(Request.Form("emel_user")) & "','" & strFormat(Request.Form("usrcomnt")) & "','" & dtem & "');"
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open TheDSN
    cn.Execute SQL
    cn.Close
    Set cn = Nothing    

  13. JUBRANO הגיב:

    עוד דבר קטן למה…
    למה את שמת השורה הזאת


    Str = Replace(str,"""",""")

    האם יש עוד דרך אחרת  חוץ מלקוא לה מתוך הSQL

  14. rjnhojbht הגיב:

    כי..
    אם תשים לב טוב תראה שבשורה אחת הפונק' ממירה גרש ('), ובשורה שהורדת הפונק' ממירה גרשיים (")..

    ולא הבנתי את השאלה השניה…

  15. JUBRANO הגיב:

    אבל עם גרשים לא עושה שגיאה
    השאלה השנייה הייתה  

    איך אפשר לקרוא לפונקציה בדרך אחרת?

  16. rjnhojbht הגיב:

    למה אתה רוצה לקרוא לפונ' בדרך אחרת?

  17. JUBRANO הגיב:

    תודה עזרת לי הרבה ומספיק לי כרגע

שלח תשובה