Send to mail, sql query result as csv file

יום שישי, אפריל 19, 2013

התקבשתי לפתח תוכנה קטה שתדע להריץ שאילתא בבסיס נתונים, לקבל את התוצאה ולשלוח אותה במייל כקובץ csv. מייד נכתוב אותה יחד. (ניתן להוריד קבצי מקור – כאן לא נראה את כל הקוד, רק את החלקים החשובים).   למעשה הפתרון שלנו יהיה מורכב משלושה פרוייקטים. SqlReportLib, יכיל את כל הקוד עצמו (הלוגיקה השליחה במייל, ההרצה ב – DB. SqlReportApp, אפליקצייה מסוג Console הגדירה את כל ההגדרות בקונפיג, ופשוט מריצה את הקוד. ...
3 תגובות

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

יום שני, נובמבר 14, 2011

  קבלתי שאלה כיצד מתחברים לבסיס נתונים ב - net.   כמובן שהפתרון גדול מידי עבור מסגרת הזו, אבל בכל זאת אני אדגים כאן את הבסיס להתחברות בכל השיטות. חשוב לזכור שפוסט זה הינו דוגמא בסיסית ביותר לגישה בכל השיטות ולא לימוד מעמיק של כל אחת מהם.   (אני מתנצל מראש שהדוגמאות בפוסט זה הם ב - vb.net ולא ב - #C)   להורדת הדוגמאות בפוסט זה     הקדמה:  כדי לגשת לבסיס נתונים מ - net קיימים (בעיקר) שלוש דרכים.   הראשונה והבסיסית היא כמובן ado.net.   השנייה היא גישה בעזרת dataset, typed dataset.   והשלישית היא orm כשהשיטות העיקריות הם nhibernate, entity framework.     ado.net: ado.net היא השיטה הבסיסית שכל השיטות מאחורי הקלעים עובדים איתה, מדובר על פתיחת...
תגובה אחת

שיעור בסיסי על ADO

יום שבת, דצמבר 19, 2009

   ניתן להוריד את דוגמת הקוד מכאן.   בפוסט הזה אני רוצה לדבר על ADO, אנחנו נבין את המושגים הבאים:   SqlConnection SqlCommand SqlParameter SqlDataReader ExecuteNonQuery ExecuteScalar SqlTransaction TransactionScope     המטרה של הפוסט היא - שמי שחדש בתחום ידע להתחיל לעבוד מול בסיסי נתונים בצורה הבסיסית ביותר - אני יוצר מתוך הנחה שהקורא מכיר SQL.   נתחיל.   בבסיס הנתונים הכי ידוע בעולם Northwind יש כמה טבלאות - בדוגמא נעבוד עם טבלת Categroies ו - Products.   יש כמה שיטות לעבוד עם נתונים, אבל כאמור אנחנו מדברים כרגע על ADO הפשוט, למעשה גם בו יש שני שיטות אחת זה עבודה עם DataSets והשנייה שאותה נדגים זה עבודה עם אובייקטים שנייצר אותם בעצמנו בעזרת ADO.   אז נניח שיש לנו את האובייקטים...
תגיות: , , , ,
תגובה אחת

There is already an open DataReader associated with this Command which must be closed first (איך להפעיל SqlDataReader בתוך SqlDataReader)

יום ראשון, ספטמבר 6, 2009

  הייתי היום בהרצאה ממש טובה על 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", cnn); SqlCommand cmd2 = new SqlCommand("SELECT * FROM Table2 WHERE Table2.Table1Id = @Id", cnn); cmd1.Parameters.Add("Id", SqlDbType.Int);   cnn.Open();   SqlDataReader reader1 = cmd1.ExecuteReader();   while (reader1.Read()) {     //.... read       cmd2.Parameters.Value = reader1;     SqlDataReader reader2 = cmd2.ExecuteReader();     while...
תגיות: , ,
2 תגובות

DataReader Helper Part 2

יום חמישי, אפריל 16, 2009

  בהמשך לפוסט הקודם שכתבתי על איך להביא נתונים מטבלה שממופה לאוביקט (אחד לאחד - עבור כל עמודה יש מאפיין עם אותו שם).   אז כמו שכתב רותם, ברגע שזה לא בדיוק אחד לאחד, זה לא יעבוד.   אז הנה הגירסא המורחבת של הפיתרון, (אפשר להוריד אותו מכאן.) (אולי כדאי להעלות אותו גם ל Code Plex, מה אתם אומרים ?)   וכמובן על ידי attribute,   ואם כבר הרחבתי את הפיתרון, אז שיניתי את המתודה ל Extension.     הנה הקוד של ה attribute:   public class MapAttribute : Attribute {     public string DatabaseColumn { get; set; }     public bool UseMap { get; set; }       public MapAttribute()     {         UseMap...
5 תגובות

DataReader Helper

יום רביעי, אפריל 15, 2009

  הרבה פעמים יש לי טבלה ב 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(null);       PropertyInfo properties = type.GetProperties();     foreach...
2 תגובות