Browse by Tags
All Tags »
DataReader (
RSS)
התקבשתי לפתח תוכנה קטה שתדע להריץ שאילתא בבסיס נתונים, לקבל את התוצאה ולשלוח אותה במייל כקובץ csv. מייד נכתוב אותה יחד. ( ניתן להוריד קבצי מקור – כאן לא נראה את כל הקוד, רק את החלקים החשובים). למעשה הפתרון שלנו יהיה מורכב משלושה פרוייקטים. SqlReportLib, יכיל את כל הקוד עצמו (הלוגיקה השליחה במייל, ההרצה ב – DB. SqlReportApp, אפליקצייה מסוג Console הגדירה את כל ההגדרות בקונפיג, ופשוט מריצה את הקוד. UI, יודעת גם להריץ את הקוד, אך נותנת UI עבור הפרמטרים. נתחיל: בפרוייקט SqlReportLib יהיו...
קבלתי שאלה כיצד מתחברים לבסיס נתונים ב - net. כמובן שהפתרון גדול מידי עבור מסגרת הזו, אבל בכל זאת אני אדגים כאן את הבסיס להתחברות בכל השיטות. חשוב לזכור שפוסט זה הינו דוגמא בסיסית ביותר לגישה בכל השיטות ולא לימוד מעמיק של כל אחת מהם. (אני מתנצל מראש שהדוגמאות בפוסט זה הם ב - vb.net ולא ב - #C) להורדת הדוגמאות בפוסט זה הקדמה: כדי לגשת לבסיס נתונים מ - net קיימים (בעיקר) שלוש דרכים. הראשונה והבסיסית היא כמובן ado.net . השנייה היא גישה בעזרת dataset, typed dataset. והשלישית היא orm כשהשיטות העיקריות...
ניתן להוריד את דוגמת הקוד מכאן . בפוסט הזה אני רוצה לדבר על ADO, אנחנו נבין את המושגים הבאים: SqlConnection SqlCommand SqlParameter SqlDataReader ExecuteNonQuery ExecuteScalar SqlTransaction TransactionScope המטרה של הפוסט היא - שמי שחדש בתחום ידע להתחיל לעבוד מול בסיסי נתונים בצורה הבסיסית ביותר - אני יוצר מתוך הנחה שהקורא מכיר SQL. נתחיל. בבסיס הנתונים הכי ידוע בעולם Northwind יש כמה טבלאות - בדוגמא נעבוד עם טבלת Categroies ו - Products. יש כמה שיטות לעבוד עם נתונים, אבל כאמור אנחנו מדברים כרגע...
הייתי היום בהרצאה ממש טובה על Ado.Net Entity Freamwork של עידו , היה ממש נחמד ולמדתי המון דברים חדשים. אבל היה שווה לבוא להרצאה רק כדי לשמוע על הפיצ'ר הבא (שלמעשה קיים כבר מ - Ado 2.0) בדרך כלל אנחנו לא יכולים להפעיל redaer כל עוד שה - reader הקודם לא נסגר (אלא אם כן נייצר connection חדש) לדוגמא - הקוד הבא: SqlConnection cnn = new SqlConnection ( @"Data Source=sever;Initial Catalog=DB;Integrated Security=True;" ); SqlCommand cmd1 = new SqlCommand ( "SELECT * FROM Table1" ...
בהמשך ל פוסט הקודם שכתבתי על איך להביא נתונים מטבלה שממופה לאוביקט (אחד לאחד - עבור כל עמודה יש מאפיין עם אותו שם). אז כמו שכתב רותם , ברגע שזה לא בדיוק אחד לאחד, זה לא יעבוד. אז הנה הגירסא המורחבת של הפיתרון, (אפשר להוריד אותו מכאן .) (אולי כדאי להעלות אותו גם ל Code Plex, מה אתם אומרים ?) וכמובן על ידי attribute, ואם כבר הרחבתי את הפיתרון, אז שיניתי את המתודה ל Extension. הנה הקוד של ה attribute: [ AttributeUsage ( AttributeTargets .Property, AllowMultiple = false )] public class MapAttribute ...
הרבה פעמים יש לי טבלה ב DB ובמקביל יש לי אובייקט שממופה אחד לאחד לטבלה, ואז כשאני רוצה להביא את הנתונים, אני כל פעם צריך לכתוב את הקוד של בניית האובייקט מתוך ה reader, אז כדי להקל עלי את העבודה, כתבתי את המתודה הבאה: public static object Build( DbDataReader reader, Type type) { ConstructorInfo ctor = type.GetConstructor( Type .EmptyTypes); if (ctor == null ) { throw new Exception ( @"To use reader helper, your class must have a less parameter constructor" ); } object newObject = ctor.Invoke...