Листинг 14.5. Пример пользовательского управления данными — код, помещаемый в форму Form1.cs

//Создает базу данных

private void buttonCreateDatabase_Click(object sender, System.EventArgs e) {

 DatabaseAccess.CreateAndFillDatabase;

}

//Загружает данные из базы данных и отображает их

private void buttonLoadGameData_Click(object sender, System.EventArgs e) {

 //Очистить текстовое окно

 textBox1.Text = "";

 //Загрузить данные для слов

 GameData.InitializeGameVocabulary;

 //Обойти все слова и добавить их в текстовый список

 System.Text.StringBuilder thisStringBuilder;

 thisStringBuilder = new System.Text.StringBuilder;

 foreach (VocabularyWord thisWord in GameData.AllWords) {

  thisStringBuilder.Append(thisWord.EnglishWord);

  thisStringBuilder.Append(" = ");

  thisStringBuilder.Append(thisWord.GermanWordWithArticleIfExists);

  thisStringBuilder.Append("\r\n"); //Новая строка

 }

 //Отобразить список слов в текстовом окне

 textBox1.Text = thisStringBuilder.ToString;

}

Листинг 14.6. Пример кода управления данными для DatabaseAccess.cs

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

//Код доступа к базе данных

//

//Этот класс управляет доступом к базе данных наших приложений

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

using System;

internal class DatabaseAccess {

 const string DATABASE_NAME = "LearnGerman.sdf";

 const string CONNECT_STRING = "Data Source = " + DATABASE_NAME + "; Password = ''";

 const string TRANSLATIONTABLE_NAME = "TranslationDictionary";

 const string TRANSLATIONTABLE_ENGLISH_COLUMN = "EnglishWord";

 const string TRANSLATIONTABLE_GERMAN_COLUMN = "GermanWord";

 const string TRANSLATIONTABLE_GERMANGENDER_COLUMN = "GermanGender";

 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;

 }

Перейти на страницу:

Похожие книги