API באקסס
-
כן תודה, זה באמת מחזיר הצלחה.
יש קובץ שם במערכת (אפשר לגשת אליו מFTP, ואפשר גם מAPI, היתרון בAPI, שזה יעזור אולי לעוד כמה אנשים)
sale_products_ok.rar
שצריך לגשת אליו, להוריד אותו, לייבא אותו לטבלה, לקחת נתונים מסויימים בשאילתא, ליצור קובץ X.TTS ולהעלות אותו בחזרה.
אני רוצה שלא יצור קובץ, אלא לשלוח איזה משתנה כקובץ.
יש לי קובץ אקסס שעושה את כל זה (מוריד, מפענח, ויוצר קובץ על המחשב להעלאה), אם תבקש, אשלח לך אותו במייל.
תודה רבה!פורסם במקור בפורום CODE613 ב02/04/2017 13:00 (+03:00)
-
-
OK.
נמשיך.
א. גם לצרכי שמירה
ב. מעניין אותי לראות איך נראית טבלה בC# (את זה אתה כבר יודע... אבל זה התחום שבעיקר מעניין אותי כרגע)אגב, הפרוייקט נתקע שנייה כשמפעילים את הפונקציה.
יש איזו פונקציה שנותנת למעבד להחליט מתי להמשיך, או שזה עובד אחרתפורסם במקור בפורום CODE613 ב02/04/2017 15:24 (+03:00)
-
@מצפה לגדול
OK.
נמשיך.מעולה רק שאינני יודע מה - לא יודע מה שלבי ההורדה והעיבוד השמירה - ביקשתי שתנחני צעד אחר צעד.
@מצפה לגדולב. מעניין אותי לראות איך נראית טבלה בC# (את זה אתה כבר יודע... אבל זה התחום שבעיקר מעניין אותי כרגע)
C# זה סביבה שלמה לומר למחשב מה לעשות. אין שמה לא טבלה ולא כלום. אקסס משלבת פורמט שמירה חכם עם מנוע שליפה ועדכון (מסד נתונים) + אפשרות להורות למחשב תסריטים (VBA). הC# ממלא לך רק את החלק השני. מסד נתונים, יש הרבה ואקסס לא רע.
@מצפה לגדול
אגב, הפרוייקט נתקע שנייה כשמפעילים את הפונקציה.
יש איזו פונקציה שנותנת למעבד להחליט מתי להמשיך, או שזה עובד אחרתאכן: בברירת מחדל זה ככה, ואם רוצים מפעילים באסינכרוני או אפי' בתהליך נפרד.
זה נושא בינתיים פחות חשוב בעיני.פורסם במקור בפורום CODE613 ב02/04/2017 16:20 (+03:00)
-
צריך להוריד קובץ (אפשר מהFTP)
פורסם במקור בפורום CODE613 ב02/04/2017 16:24 (+03:00)
-
טוב נעשה API.
להוריד את הקובץ,
(DownloadFile, הפרמטרים: token, path)
לפענח אותו.
הדוגמה של הקובץ ,
צריך ליצור טבלה (או לייבא לאקסס?)
עם כל השדות.פורסם במקור בפורום CODE613 ב02/04/2017 16:34 (+03:00)
-
אם אפשר לייבא לאקסס אוטומטי ואח"כ לשלוף משאילתא, אז כן.
לא, לא תמיד.
להוריד את הקובץ למחשב הצלחתי (עם FileStream)
איך קוראים JSON לקבל טוקן?
תודה רבה על כאב הראש!!
פורסם במקור בפורום CODE613 ב02/04/2017 17:20 (+03:00)
-
לא, איך מפענחים את מה שמתקבל?
{"responseStatus":"OK","token":"XXXXXXXXXXXXXXXX","yemotAPIVersion":6}
פורסם במקור בפורום CODE613 ב02/04/2017 17:26 (+03:00)
-
@מצפה לגדול
לא, איך מפענחים את מה שמתקבל?
{"responseStatus":"OK","token":"XXXXXXXXXXXXXXXX","yemotAPIVersion":6}
תהיה בריא אתה כל הזמן בונה על שאני יודע דברים בנבואה, זה די נמאס לי.
מאיפה שאראה את הפלט שנתת כעת? לא יכולת לומר בתשובה יש טוקן איך אני מחלץ אותו?טוב, נראה לי נמשיך אחרי פסח.
פורסם במקור בפורום CODE613 ב02/04/2017 17:32 (+03:00)
-
טוב, סליחה.
תודה רבה!פורסם במקור בפורום CODE613 ב02/04/2017 17:34 (+03:00)
-
יש לי פנאי..
תוסיף מחלקה חדשה (קליק ימני על הפרוייקט > Add... ואז class > שים שם ResponseYemot
ושים שמה בתוך הסוגריים המסולסלות של המחלקה את השורות הבאות:public int yemotAPIVersion { get; set; } public string responseStatus { get; set; } public string message { get; set; } public string token { get; set; }
תחזור לפונקציה שכתבנו להוריד את הקובץ ותשנה אותה:
א. בכותרתה במקום void תכתוב ResponseYemot (זה הופך אותה לפונקציה מסוג שמחזירה ערך שסוג הערך הוא מחלקה שזה עתה יצרת עם המאפיינים שהדבקנו).
ב. בשורה האחרונה במקום השורה של הMessageBox תדביק את השורות הבאות:string resText = System.Text.Encoding.UTF8.GetString(bytes); return Newtonsoft.Json.JsonConvert.DeserializeObject<ResponseYemot>(resText);
כעת בקוד שקורא לפונקציה הזו (באירוע הלחיצה לכפתור או הטעינה האמורים לעיל), תשנה באופן שתקבל את הערך שחוזר לתוך משתנה:
ResponseYemot response = SendFileToYemotHamashiach(); if(response.responseStatus != "OK") { MessageBox.Show(response.responseStatus); return; } Title = response.token;
זהו עד עתה.
פורסם במקור בפורום CODE613 ב02/04/2017 20:52 (+03:00)
-
תודה רבה.
אם עדיין מעט כח לך (אתה לא חייב,+ערב פסח וכו')
האם אפשר באותה הצורה שממירים ג'ייסון, להמיר טבלה שבנויה בצורה כזו:שם שדה1 #ערך1 %שם שדה2 #ערך2 שם שדה1 #ערך1 %שם שדה2 #ערך2
לא כל השדות תמיד נמצאים.
או לפחות הדרכה מינימלית איך בונים כזו מחלקה.
תודהפורסם במקור בפורום CODE613 ב03/04/2017 00:02 (+03:00)
-
בסדר. בפרוייקט הזה הצלחתי ב"ה.
תודה לדוד על ההדרכה המפורטת!פורסם במקור בפורום CODE613 ב05/04/2017 18:23 (+03:00)