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

ЖАНРЫ

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

Салмре Иво

Шрифт:

 const string TRANSLATIONTABLE_ WORDFUNCTION_COLUMN = "WordFunction";

 internal const int DS_WORDS_COLUMNINDEX_ENGLISHWORD = 0;

 internal const int DS_WORDS_COLUMNINDEX_GERMANWORD = 1;

 internal const int DS_WORDS_COLUMNINDEX_GERMANGENDER = 2;

 internal const int DS_WORDS_COLUMNINDEX_WORDFUNCTION = 3;

 static public System.Data.IDataReader GetListOfWords {

System.Data.SqlServerCe.SqlCeConnection conn = null;

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

conn.Open;

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

cmd.ConmandText = "select " +

TRANSLATIONTABLE_ENGLISH_COLUMN + ", " +

TRANSLATIONTABLE_GERMAN_COLUMN + ", " +

TRANSLATIONTABLE_GERMANGENDER_COLUMN + ", " +

TRANSLATIONTABLE_WORDFUNCTION_COLUMN + " " + "from " +

TRANSLATIONTABLE_NAME;

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

System.Data.SqlServerCe.SqlCeDataReader myReader =

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

return myReader;

 }

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

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

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

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

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

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

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

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

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