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, _
VocabularyWord.WordFunction.Verb)
InsertEnglishGermanWordPair(cmd, "yellow", "gelbe", _
VocabularyWord.WordGender.notApplicable, _
VocabularyWord.WordFunction.Adjective)
InsertEnglishGermanWordPair(cmd, "one", "eins", _
VocabularyWord.WordGender.notApplicable, _
VocabularyWord.WordFunction.Adjective)
InsertEnglishGermanWordPair(cmd, "two", "zwei", _
VocabularyWord.WordGender.notApplicable, _
VocabularyWord.WordFunction.Adjective)
'Имена существительные мужского рода
InsertEnglishGermanWordPair(cmd, "Man", "Mann", _
VocabularyWord.WordGender.Masculine, _
VocabularyWord.WordFunction.Noun)
InsertEnglishGermanWordPair(cmd, "Marketplace", "Marktplatz", _
VocabularyWord.WordGender.Masculine, _
VocabularyWord.WordFunction.Noun)
InsertEnglishGermanWordPair(cmd, "Spoon", "Löffel", _
VocabularyWord.WordGender.Masculine, _
VocabularyWord.WordFunction.Noun)
'Имена существительные женского рода
InsertEnglishGermanWordPair(cmd, "Woman", "Frau", _
VocabularyWord.WordGender.Feminine, _
VocabularyWord.WordFunction.Noun)
InsertEnglishGermanWordPair(cmd, "Clock", "Uhr", _
VocabularyWord.WordGender.Feminine, _
VocabularyWord.WordFunction.Noun)
InsertEnglishGermanWordPair(cmd, "Cat", "Katze", _
VocabularyWord.WordGender.Feminine, _
VocabularyWord.KordFunction.Noun)
'Имена существительные среднего рода
InsertEnglishGermanWordPair(cmd, "Car", "Auto", _
VocabularyWord.WordGender.Neuter, _
VocabularyWord.WordFunction.Noun)
InsertEnglishGermanWordPair(cmd, "Book", "Buch", _
VocabularyWord.WordGender.Neuter, _
VocabularyWord.WordFunction.Noun)
End Sub
'----------------------------
'Помещает слово в базу данных
'----------------------------
Private Shared Sub InsertEnglishGermanWordPair( _
ByVal cmd As System.Data.SqlServerCe.SqlCeCommand, _
ByVal englishWord As String, ByVal germanWord As String, _
ByVal germanWordGender As VocabularyWord.WordGender, _
ByVal wordFunction As VocabularyWord.WordFunction)
cmd.CommandText = "INSERT INTO " + TRANSLATIONTABLE NAME + _
"(" + TRANSLATIONTABLE_ENGLISH_COLUMN + ", " + _
TRANSLATIONTABLE_GERMAN_COLUMN + ", " + _
TRANSLATIONTABLE_GERMANGENDER_COLUMN + ", " + _
TRANSLATIONTABLE_WORDFUNCTION_COLUMN + _
") VALUES ('" _
+ englishWord + "', '" + germanWord + "', '" _
+ System.Convert.ToString(CType(germanWordGender, Integer)) + "', '"
+ System.Convert.ToString(CType(wordFunction, Integer)) + "')"
cmd.ExecuteNonQuery()
End Sub
End Class
Листинг 14.7. Пример кода управления данными для GameData.cs
Option Strict On
'-----------------------------------------------------------------
Читать дальше