Литмир - Электронная Библиотека
Содержание  
A
A

'------------------------------------------

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

'------------------------------------------

Public Shared Sub CreateDatabaseIfNonExistant()

 If (System.IO.File.Exists(DATABASE_NAME) = False) Then

  CreateAndFillDatabase()

 End If

End Sub

'---------------------------------------

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

'---------------------------------------

Public Shared Sub CreateAndFillDatabase()

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

 If (System.IO.File.Exists(DATABASE_NAME)) Then

  System.IO.File.Delete(DATABASE_NAME)

 End If

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

 Dim sqlCeEngine As System.Data.SqlServerCe.SqlCeEngine

 sqlCeEngine = New System.Data.SqlServerCe.SqlCeEngine( _

  CONNECT_STRING)

 sqlCeEngine.CreateDatabase()

 '-------------------------------------

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

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

 '-------------------------------------

 Dim conn As System.Data.SqlServerCe.SqlCeConnection = Nothing

 Try

  conn = New System.Data.SqlServerCe.SqlCeConnection( _

   CONNECT_STRING)

  conn.Open()

  Dim cmd As System.Data.SqlServerCe.SqlCeCommand = _

   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 eTableCreate As System.Exception

  MsgBox("Error occured adding table :" + eTableCreate.ToString())

 Finally

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

  conn.Close()

 End Try

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

 MsgBox("Created language database!")

End Sub

Private Shared Sub FillDictionary( _

 ByVal cmd As System.Data.SqlServerCe.SqlCeCommand)

 'Глаголы

 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", _

  VocabularyWord.WordGender.notApplicable, _

  VocabularyWord.WordFunction.Adverb)

 InsertEnglishGermanWordPair(cmd, "never", "nie", _

  VocabularyWord.WordGender.notApplicable, _

  VocabularyWord.WordFunction.Adverb)

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

 'Предлоги

  InsertEnglishGermanWordPair(cmd, "at the", "am", _

   VocabularyWord.WordGender.notApplicable, _

   VocabularyWord.WordFunction.Preposition)

 'Имена прилагательные

 InsertEnglishGermanWordPair(cmd, "invited", "eingeladen", _

  VocabularyWord.WordGender.notApplicable, _

268
{"b":"947732","o":1}