'------------------------------------------
'Создает базу данных в случае необходимости
'------------------------------------------
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, _