Чтение онлайн

ЖАНРЫ

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

Салмре Иво

Шрифт:

Const TRANSLATIONTABLE_GERMANGENDER_COLUMN As String = "GermanGender"

Const TRANSLATIONTABLE_WORDFUNCTION_COLUMN As String = "WordFunction"

Friend Const DS_WORDS_COLUMNINDEX_ENGLISHWORD As Integer = 0

Friend Const DS_WORDS_COLUMNINDEX_GERMANWORD As Integer = 1

Friend Const DS_WORDS_COLUMNINDEX_GERMANGENDER As Integer = 2

Friend Const DS_WORDS_COLUMNINDEX_WORDFUNCTION As Integer = 3

Public Shared Function GetListOfWords As _

 System.Data.IDataReader

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

 conn = New System.Data.Sq]ServerCe.SqlCeConnection( _

CONNECT_STRING)

 conn.Open

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

conn.CreateCommand

 cmd.CommandText = "select " + _

TRANSLATIONTABLE_ENGLISH_COLUMN + ", " _

+ TRANSLATIONTABLE_GERMAN_COLUMN + ", " _

+ TRANSLATIONTABLE_GERMANGENDER_COLUMN + ", " _

+ TRANSLATIONTABLE_WORDFUNCTION_COLUMN + " " _

+ "from " + TRANSLATIONTABLE_NAME

 'Выполнить
команду базы данных

 Dim myReader As System.Data.SqlServerCe.SqlCeDataReader = _

cmd.ExecuteReader(System.Data.CommandBehavior.SingleResult)

 Return myReader

End Function

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

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

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

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

Поделиться с друзьями: