fy">} return;
} (Exception ex)// якщо сталася помилка при створенні нової таблиці
{. Show (ex.Message, "Помилка при створенні таблиці!");// покажемо на екран
Log.AddInfo ("Error on table creating ->" + ex.Message);// і запишемо в лог
}
}
///
///Будує стуктуру БД в об'єкт.
/// void BuildXDoc ()
{
{= new XDocument (new XElement ("DataBase"));. Root.SetAttributeValue ("name", baseName);
tablesNames = SQLiteProvider.GetTablesNames (appPath);. Root.SetAttributeValue ("tablesCount", tablesNames.Count);
(string s in tablesNames)
{xEl1 = new XElement ("Table");. SetAttributeValue ("name", s);
= "SELECT * FROM" + s; [] drs = SQLiteProvider.Query (appPath, query);. SetAttributeValue ("columnsCount", drs [0]. Table.Columns.Count );
(DataRow dr in drs)
{xEl2 = new XElement ("Row");
i = 0; (object cell in dr.ItemArray)
{xEl3 = new XElement ("Field");. SetAttributeValue ("name", dr.Table.Columns [i]. ColumnName);. SetAttributeValue ("value", cell) ; + +;. Add (xEl3);
}. Add (xEl2);
}. Root.Add (xEl1);
}
} (Exception ex)// якщо сталася помилка при генерації об'єкта, що представляє структуру бд
{. Show (ex.Message, "Помилка при генерації структури БД!");// покажемо на екран
Log.AddInfo ("Error on building XDocument object ->" + ex.Message);// і запишемо в лог
}
}
///
///Дії, які необхідно виконати перед закриттям програми.
/// void Window_Closing (object sender, System.ComponentModel.CancelEventArgs e)
{
/* if (System.Windows.Forms.MessageBox.Show ("Додаток буде закрито. Ви впевнені?", "Увага!", System.Windows.Forms.MessageBoxButtons.YesNo ). ToString ()
== System.Windows.Forms.DialogResult.No.ToString ()); * /. Save (appPath + ". xml");. Save ();. Current.Shutdown () ;
}
}
///
///Клас, що дозволяє будувати графічне представлення ієрархічно структурованих даних.
/// static class TreeViewBuilder
{
///
///Побудова заданого дерева із заданого об'єкта LINQ.
///