שלח תשובה

זירת השאלות

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

הוספת שדות רשות לדאטאבייס

,‏ 10 בפברואר, 2004

אני מקבל מהלקוח מס' נתונים כאשר הוא לא חייב להקליד את כולם
(שדות רשות)
אבל כשהשדות נשארים ריקים


Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.


רעיונות…?
תודה.
ארתור

תגיות:

14 תשובות

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

    =>
    שים את שאילתת ההכנסה של הנתונים ואת מבנה ה-DB (כולל סוג השדות)

  2. RT-PRO הגיב:

    הנה : ….

    SQL = "insert into Customers(id,nick,password,first_name,last_name,City,street,home,zip,phone,cell,email) Values ("
    SQL = SQL & "'" & ValidSQL(request.Form("id")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("nick")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("password")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("first_name")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("last_name")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("city")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("street")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("home")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("zip")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("phone")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("cell")) & "',"
    SQL = SQL & "'" & ValidSQL(request.Form("email")) & "')"
    MyConn.Execute (SQL)

    במקרה זה לדוגמא :
    אם אני לא רוצה לחייב את הלקוח להזין מיקוד(ZIP)
    וערך התא "".

    בבסיס הנתונים ZIP מוגדר כמספר.

    תודה

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

    …….
    הכנס את הערך המתקבל לתוך משתנה:


    x = request.Form("home")
    if x="" then
    x=null
    end if

    ואם הערכים הם NULL הכנס אותם בלי גרשיים.

  4. RT-PRO הגיב:

    לא הולך ,אבל הסתדרתי

    Error Type:
    Microsoft VBScript runtime (0x800A005E)
    Invalid use of Null: 'Replace'
    /db/functions.asp, line 26

    הוא לא רצה לקבח את NULL
    מה שמוזר פה ששורה 26 ריקה לגמרי…
    עשיתי את זה בדרך עקומה, הצבתי 0 אם השדה ריק

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

    RT… משהו לידע אישי
    שסופרים את השורות סופרים לפי השורות שי בהן טקסט ולא לפי השורות שהריקות

  6. RT-PRO הגיב:

    כמובן…..
    אבל מה תגיד אם אני אגיד לך שהצבתי את ה NULL בכלל בשורה 92
    :-s

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

    זה לא היה אמור לעבוד לך ככה
    זו רק דוגמא

  8. RT-PRO הגיב:

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

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

    אשמח אם מישהו יפתור את הבעיה ,לידע כללי ,אפילו שזה פועל עכשיו גם בלי הNULL

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

    תבדוק בתצוגת עיצוב של הטבלה שלך
    אם הוא מוגדר לקבל ערכים שהם Null

  10. RT-PRO הגיב:

    איך אני מגדיר אותו לקבל NULL ?
    הוא מוגדר לי כמספר…

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

    תראה קצת קוד,
    לפי השגיאה שלך הבעייה נראית בקוד.

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

    רגע, רגע…
    חלק מהשדות ב DB מוגדרים כשדות מספריים, אבל אתה מנסה להכניס לכולם ערכים מחרוזתיים – תעיף תגרש מהערכים המספריים בשאילתה שלך – במקום:

    SQL = SQL & "'" & ValidSQL(request.Form("zip")) & "',"

    תכתוב

    SQL = SQL & ValidSQL(request.Form("zip")) & ","

    ואת זה אתה צריך לכתוב כמובן ככה על כל שדה מספרי…

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

    לא חשבתי שזאת הבעייה
    בכל מקרה – הילדה כתבה בתפוז על איך משרשרים שאילתא וזוהר על איך לדבר SQL, כדאי לקרוא.

שלח תשובה