Создание Windows-приложений на основе Visual C#


           

Получаем текущий объект класса Assembly


/// <summary> /// Считывание текста из файла. /// </summary> /// <param name="name">Название файла.</param> /// <returns></returns> private string GetSql(string name) { try { // Получаем текущий объект класса Assembly System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly(); // Получаем объект класса Stream к ресурсам текущей сборки. System.IO.Stream str = asm.GetManifestResourceStream(asm.GetName().Name + "." + name); // Считываем и возвращаем содержимое. System.IO.StreamReader reader = new System.IO.StreamReader(str); return reader.ReadToEnd(); } catch(Exception ex) { // Отлавливаем возникшие исключения. System.Windows.Forms.MessageBox.Show("В методе GetSql возникла ошибка: "+ex.Message); throw ex; } } /// <summary> /// Выполнение SQL-запроса. /// </summary> /// <param name="databaseName">Название базы данных.</param> /// <param name="sql">Текст команды.</param> private void ExecuteSql(string databaseName, string sql) { // Создаем объект класса SqlCommand. System.Data.SqlClient.SqlCommand comm = new System.Data.SqlClient.SqlCommand(sql, sqlConnection1); // Открываем соединение. comm.Connection.Open(); // Изменяем используемую базу данных. comm.Connection.ChangeDatabase(databaseName); try { // Выполняем команду. comm.ExecuteNonQuery(); } finally { // Закрываем соединение. comm.Connection.Close(); } } /// <summary> /// Создание таблицы в базе данных. /// </summary> /// <param name="databaseName">Название базы данных.</param> protected void AddDBTable(string databaseName) { try { // Создаем новую базу данных. this.ExecuteSql("master", "CREATE DATABASE " + databaseName); // Создаем таблицу в новой базе данных. this.ExecuteSql(databaseName, this.GetSql("sqlScript.txt")); } catch(Exception ex) { System.Windows.Forms.MessageBox.Show("В методе AddDBTable возникла ошибка: "+ex.Message); } } /// <summary> /// Перегружаем метод Install /// </summary> /// <param name="stateSaver">Параметр по умолчанию.</param> public override void Install(IDictionary stateSaver) { base.Install (stateSaver); // В качестве названия БД передаем введенное значение пользователем. this.AddDBTable(this.Context.Parameters["dbname"]); }
Листинг 9.1.
Закрыть окно
Содержание  Назад  Вперед