Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
InsertEnglishGermanWordPair(cmd, "Book", "Buch",
VocabularyWord.WordGender.Neuter, VocabularyWord.WordFunction.Noun);
}
//----------------------------
//Помещает слово в базу данных
//----------------------------
static private void InsertEnglishGermanWordPair(
System.Data.SqlServerCe.SqlCeCommand cmd,
string englishWord, string germanWord,
VocabularyWord.WordGender germanWordGender,
VocabularyWord.WordFunction 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(((int) germanWordGender))+ "', '" +
System.Convert.ToString(((int) wordFunction)) + "' )";
cmd.ExecuteNonQuery;
}
} //Конец класса
Листинг 14.7. Пример кода управления данными для GameData.cs
//-----------------------------------------------------------------
//Код управления данными в памяти
//
//Этот код предназначен для управления представлением кода в памяти
//-----------------------------------------------------------------
using System;
internal class GameData {
//Массив списков для сохранения загружаемых данных
private static System.Collections.ArrayList m_vocabularyWords All;
private static System.Collections.ArrayList m_vocabularyWords_Nouns;
private static System.Collections.ArrayList m_vocabularyWords_Verbs;
private static System.Collections.ArrayList m_vocabularyWords_Adjectives;
private static System.Collections.ArrayList m_vocabularyWords_Adverbs;
private static System.Collections.ArrayList m_vocabularyWords_Prepositions;
public static bool isGameDataInitialized {
//Инициализация данных игры, если слова загружены
get {
return (m_vocabularyWords_All != null);
}
}
//Возвращает коллекцию всех имеющихся слов
public static System.Collections.ArrayList AllWords {
get {
//Загрузить данные, если они не были инициализированы
if (m_vocabularyWords_All == null) {
InitializeGameVocabulary;
}
return m_vocabularyWords_All;
}
}
//Возвращает коллекцию всех имеющихся имен существительных
public static System.Collections.ArrayList Nouns {
get {
//Загрузить данные, если они не были инициализированы
if (m_vocabularyWords_Nouns == null) {
InitializeGameVocabulary;
}
return m_vocabularyWords_Nouns;
}
}
//==========================================================
//Загружает данные из нашей базы данных
//==========================================================
static public void InitializeGameVocabulary {
//Создать новый массив списков для хранения наших слов
m_vocabularyWords_All = new System.Collections.ArrayList;
m_vocabularyWords_Nouns = new System.Collections.ArrayList;
m_vocabularyWords Verbs = new System.Collections.ArrayList;
m_vocabularyWords_Adjectives = new System.Collections.ArrayList;
m_vocabularyWords_Adverbs = new System.Collections.ArrayList;
m_vocabularyWords_Prepositions = new System.Collections.ArrayList;
System.Data.IDataReader dataReader;
dataReader = DatabaseAccess.GetListOfWords;
VocabularyWord newWord;
//Обойти все записи
while (dataReader.Read) {
//Поместить данные для только что считанного слова в класс
newWord = new VocabularyWord(
dataReader.GetString(DatabaseAccess.DS_WORDS_COLUMNINDEX_ENGLISHWORD),
dataReader.GetString(DatabaseAccess.DS_WORDS COLUMNINDEX_GERMANWORD),
(VocabularyWord.WordGender)dataReader.GetInt32(DatabaseAccess.DS_WORDS_COLUMNINDEX_GERMANGENDER),
(VocabularyWord.WordFunction)dataReader.GetInt32(DatabaseAccess.DS_WORDS_COLUMNINDEX_WORDFUNCTION));
//Добавить новое слово в массив списков
m_vocabularyWords_All.Add(newWord);
//Слова могут принадлежать нескольким группам, поэтому необходимо
Поделиться с друзьями: