none
שגיאה"אי התאמה של סוג נתונים בביטוי קריטריונים RRS feed

  • דיון כללי

  • אני משתמש vs2008 וfw3.5
    אני טוען קובץ csv  לתוך data set
    באמצעות OleDbDataAdapter
     בטעינת קובץ עם רשומה שמתחילה ב-F או S והשאר ספרות באמצעות OleDbDataAdapter אני מקבל שגיאה
    אי התאמה של סוג נתונים בביטוי קריטריונים

    הקוד

    OleDbConnection conn = new OleDbConnection(string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""text;HDR=Yes;FMT=Delimited(;)""", filesDir));
    DataSet ds = new DataSet();
    conn.Open();
    OleDbCommand cmd = conn.CreateCommand();
    cmd.CommandText = " select [id],[name] from " + fileName ;
    cmd.CommandType = CommandType.Text;
     
    OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
    adapter.Fill(ds);
     

    הנתונים
    id;name
    F00000456;simon

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

    אם בשדה ה-id אני משנה את הנתון כך שבמקום להתחיל ב-F הוא מתחיל ב-S התופעה נשארת.
    אבל אם אני משנה שיתחיל ב-A או D או שאני משנה את אחת הספרות לאות, אז הכל רץ תקין.

    יש למישהו רמז?

    יהודה

    • שינה את הסוג Arik Poznanski יום שלישי 29 נובמבר 2011 13:10 חסר פתרון
    יום רביעי 05 ינואר 2011 13:13

כל התגובות

  • תיקון קטן בשאילתא
    cmd.CommandText = " select [id],[name] from " + fileName +"where id in ('FSDF00','SHALLD')" ;
    נוצרת התנגשות בין ההגדרה (האוטומאטית) שניתנת לשדה בקובץ שמשום מה הוא לא מחרוזת לעומת זו שניתנת בשאילתה


    יהודה
    יום חמישי 06 ינואר 2011 06:45