פורסם 2011 במרץ 2814 שנים שלום,כתבתי שאילתה פשוטה ששולפת נתונים מאקסס,ביזמן ריצה מתקבלת לי שגיאה- צרפתי את התצלום מסך של השגיאה.מצורף קטע תחילת הקוד...מסומן בסגול השורה בה מפסיקה התוכנית לרוץ.אודה מאד על עזרה!! OleDbConnection conn = newOleDbConnection();conn.ConnectionString= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\sarimimi\\Desktop\\gibuy\\key.accdb";conn.Open();// משתנה המתחבר לבסיס הנתוניםOleDbCommand comm = newOleDbCommand();comm.Connection = conn;comm.CommandType = CommandType.Text;comm.CommandText = "select tz from tbl_man where tz = " + tz_text.Text ;//לפי התז שהוכנסה// הפעלת קריאה לפי הפרמטרים שנרשמו למעלהOleDbDataReader reader;reader = comm.ExecuteReader();כאן התוכנית עוצרת את הריצה// reader.Read();[attachment deleted by admin]
פורסם 2011 במרץ 2814 שנים ערוך את ההודעה ושים את הקוד בתוך טג קוד (כפתור "הוסף קוד" למעלה) כדי שיהיה קריא.מה מכיל tz_text?
פורסם 2011 במרץ 3114 שנים אז זו הבעיה - את משווה אותה למספר. את צריכה לעטוף את הטקסט בגרשיים:comm.CommandText = "select tz from tbl_man where tz = \'" + tz_text.Text + "\'";
פורסם 2011 במרץ 3114 שנים מחבר הופה.....זה עובד!!!תודה..אבל לא הבנתי למה אני משווה למספר - הרי זה text.. - לא?!
פורסם 2011 במרץ 3114 שנים נכון, אבל כשכותבים טקסט את צריכה לעטוף אותו במרכאות. נניח ש-tz_text.Text מכיל את המחרוזת "1234".אז השאילתא שלך הייתה כזה דבר:select tz from tbl_man where tz = 1234ככה ששרת ה-SQL חושב שאת משווה את tz למספר 1234. השאילתא שאת באמת רוצה להריץ היא זו:select tz from tbl_man where tz = '1234'באותו אופן, אם tz_text.Text מכיל את המחרוזת "abcd" אז השאילתא תהיה דבר כזה:select tz from tbl_man where tz = abcdודבר כזה לא יעבוד בכלל, כי שרת ה-SQL לא יודע מה זה abcd (הוא מחפש משתנה בשם abcd, וכמובן אין לו כזה).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.