Читаем Программирование мобильных устройств на платформе .NET Compact Framework полностью

 //------------------------------------------

 //Создает базу данных в случае необходимости

 //------------------------------------------

 static public void CreateDatabaseIfNonExistant {

  if (System.IO.File.Exists(DATABASE_NAME) == false) {

   CreateAndFillDatabase;

  }

 }


 //---------------------------------------

 //Создает и наполняет данными базу данных

 //---------------------------------------

 static public void CreateAndFillDatabase {

  //Удалить базу данных, если она уже существует

  if (System.IO.File.Exists(DATABASE_NAME)) {

   System.IO.File.Delete(DATABASE_NAME);

  }


  //Создать новую базу данных

  System.Data.SqlServerCe.SqlCeEngine sqlCeEngine;

  sqlCeEngine = new System.Data.SqlServerCe.SqlCeEngine(CONNECT_STRING);

  sqlCeEngine.CreateDatabase;


  //-------------------------------------

  //Попытаться подключиться к базе данных

  //и наполнить ее данными

  //-------------------------------------

  System.Data.SqlServerCe.SqlCeConnection conn = null;

  try {

   conn = new System.Data.SqlServerCe.SqlCeConnection(CONNECT_STRING);

   conn.Open;

   System.Data.SqlServerCe.SqlCeCommand cmd = conn.CreateCommand;


   //Создает таблицу перевода

   //Поля:

   // 1. Слова на английском языке (English)

   // 2. Слова на немецком языке (German)

   // 3. Грамматический род (Gender)

   // 4. Тип слова

   cmd.CommandText = "CREATE TABLE " + TRANSLATIONTABLE_NAME + " (" +

    TRANSLATIONTABLE_ENGLISH_COLUMN + " ntext" + ", " +

    TRANSLATIONTABLE_GERMAN_COLUMN + " ntext" + ", " +

    TRANSLATIONTABLE_GERMANGENDER_COLUMN + " int" + ", " +

    TRANSLATIONTABLE_WORDFUNCTION_COLUMN + " int" + ")";

   cmd.ExecuteNonQuery;


   //Наполнить базу данных словами

   FillDictionary(cmd);

  } catch (System.Exception eTableCreate) {

   System.Windows.Forms.MessageBox.Show("Error occurred adding table :" + eTableCreate.ToString);

  } finally {

   //Всегда закрывать базу данных по окончании работы

   conn.Close;

  }

  //Информировать пользователя о создании базы данных

  System.Windows.Forms.MessageBox.Show("Created langauge database!");

 }


 static private void FillDictionary(System.Data.SqlServerCe.SqlCeCommand cmd) {

  //Глаголы

  InsertEnglishGermanWordPair(cmd, "to pay", "zahlen",

   VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Verb);

  InsertEnglishGermanWordPair(cmd, "to catch", "fangen",

   VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Verb);


  //Добавить другие слова...

  //Местоимения

  InsertEnglishGermanWordPair(cmd, "What", "was",

   VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Pronoun);


  //Добавить другие слова...

  //Наречия

  InsertEnglishGermanWordPair(cmd, "where", "wo",

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT