סימנים מיוחדים בשאילתה
-
זו בעיה קצת בסיסית, אני יודע.
בכל זאת אני הסתבכתי עם הנושא, ומכל התוצאות בגוגל לא יצא לי משהו ברור.
הנושא הוא כזה: תוכנה בסי שארפ, מסד נתונים באקסס.
התכנה מותקנת על כמה מחשבי קצה, וכל אחד מהם שולח קובץ XML למחשב הראשי כדי לעדכן אותו.
אני אוחז כרגע בשלב הייבוא למחשב הראשי, יצרתי שאילתות Insert הנבנות מתוך נתוני הקובץ, ופה הסתבכתי עם הבעיה הזו, נתוני מחרוזת שמכילים סימנים כמו "/" או " ' ". אני מקבל הודעת שגיאה של אופרטור חסר.
אז מה הדרך הפשוטה להיחלץ מהדבר המתסכל הזה???
תודה מראש!פורסם במקור בפורום CODE613 ב16/02/2016 13:24 (+02:00)
-
-
אני לא חושב שזה קשור לאקסס, עיקר הבעיה שלי היא להפוך נתונים עם סימנים מיוחדים לכזה שלא יעשה בעיות.
פירטתי את הכל כי אולי הדרך הטובה היא לשמור מראש בקובץ ה xml בצורה אחרת, או שמא יש דרך התמודדות מיוחדת עם אקסס.
תכל'ס מה שקורה זה שהמערכת בונה שאילתת Insert עם פרמטרים שנקראים מתוך הקובץ, וכאשר יש במחרוזת סימנים מיוחדים- למשל "משפחת יעקובוביץ' העסק משתבש.
פורסם במקור בפורום CODE613 ב16/02/2016 14:39 (+02:00)
-
סימן מיוחד יש להקיף בגרשיים.
פורסם במקור בפורום CODE613 ב16/02/2016 14:57 (+02:00)
-
סימן מיוחד יש להקיף בגרשיים.
אני לא יודע איפה יהיה סימן מיוחד אם בכלל, אז איך אתה ממליץ לעשות זאת?
הפונקציה Replace נראית לי מאיטה מאוד, חוץ מזה שבה עצמה אני מסתבך עם הדרך לכתוב את התנאים והתוצאה.
תודה
פורסם במקור בפורום CODE613 ב16/02/2016 15:08 (+02:00)
-
תכתוב פונקציה שתחפש את התווים המיוחדים ותקיף אותם בגרשיים.
אם לא תסתדר לבד אכתוב לך בל"נ בעת הפנאי.פורסם במקור בפורום CODE613 ב16/02/2016 15:25 (+02:00)
-
תכתוב פונקציה שתחפש את התווים המיוחדים ותקיף אותם בגרשיים.
אם לא תסתדר לבד אכתוב לך בל"נ בעת הפנאי.אני מנסה, כבר הרבה זמן. זה תמיד משתבש לי, כי גם ההוראה עצמה משתבשת עם הסימנים האלו.
פורסם במקור בפורום CODE613 ב16/02/2016 15:36 (+02:00)
-
לכאורה אתה מממש שרת DB לבד.
לא כ"כ מובן למה.
תספר לנו מה מציק בלעבוד מול שרת SQL....
לדעתי יהיה יותר קל לעזור לך מהכיוון הזה.אני מניח שאתה משתמש בדאטאסט בתוכנת הקצה, לדעתי, אל תלך לכיוון של XML עם מימוש לבד, אלא תקבל דאטאסט, ותחזיר לסרביס שלך את אובייקט הDATASET לאחר השינויים של המשתמש, ותן לו להתמודד לבד.
עשיתי את זה בעבר (לפני 5 שנים) עד שהבנתי שזה לממש לבד את הSQL SERVER. רק שזה מה שהלקוח דרש.
בסוף הצלחתי לשכנע אותו -- אולי עכשיו גם אותךפורסם במקור בפורום CODE613 ב17/02/2016 02:16 (+02:00)
-
המקרה שלי הוא פשוט הרבה יותר, אני מעוניין לעבוד במחשב ללא חיבור לאינטרנט בכלל. כל תחנה מיועדת רק לקליטת מידע, ואז הנתונים נשלחים אלי בקובץ, דרך מייל (למשל ממחשב אחר) או אפילו בדרך העתיקה של דיסק און קי.
בקשר לאקסס- נכון שזה לא כמו SQL SERVER, אבל במקרה שלי רק ככה נחסך ממני המשך התפעול של החומר, כי לייצר דוחות ושאילתות הלקוח שלי יודע מצוין דרך אקסס.
ועכשיו לבעיה עצמה, האמת שדי הסתדרתי איתה. נשאר לי רק בעיה קטנה, אני רואה שכאשר יש מרכאות במחרוזת זה נשמר בקובץ כך "
אבל כשאני קורא במחלקת xmlDocument לערך הוא מתורגם חזרה למרכאות. נראה לי שיש דרך פשוטה למנוע זאת, מישהו יודע?תודה לכולם על הרצון הטוב
פורסם במקור בפורום CODE613 ב17/02/2016 13:30 (+02:00)
-
הבעיה היא בהרצת שאילתה שמכילה טקסט שבתוכו יש מרכאות. הכי טוב זה להשתמש בOleDbParameters כי הוא עושה את העבודה. אני ממליץ בחום להתאמץ הרבה למטרה זו - לעבוד מול OleDbParameter - מאשר לטהר את הטקסט בעצמך. אשמח להראות מה ואיך אבל תצטרך לתת יותר רקע ו/או קוד.
במקרה ותדבק באפשרות שאינני ממליץ אז עליך להפוך כל מרכאה בודדת/כפולה שמופיעה פעם אחת, לפעמיים, עם Replace פשוט.פורסם במקור בפורום CODE613 ב17/02/2016 14:10 (+02:00)