Отображение записи базы данных без привязки данных в C#

Многие программы используют привязку данных для отображения записей в базе данных. Этот метод прост (по крайней мере, в том, что касается кода, который вы пишете), но он не очень гибкий. В этом примере показано, как вы можете отображать записи базы данных без привязки данных. Это требует большего количества кода за кулисами, но дает вам более прямой контроль над тем, что происходит.

Пример Инициализация списков из баз данных без привязки к C# объясняет основную технику. См. Эту статью, чтобы узнать, как эта программа определяет соединение с базой данных и инициализирует ее ListBox с названиями книг.

Следующий код показывает, что программа отображает информацию о книге, когда пользователь выбирает ее из ListBox.

// Отображение информации о выбранном заголовке.
private void lstTitles_SelectedIndexChanged(object sender, EventArgs e)
{
    if (lstTitles.SelectedIndex < 0) return;

    // Создаем объект команды для получения информации о названии.
    string title = lstTitles.SelectedItem.ToString().Replace("'", "''");
    OleDbCommand cmd = new OleDbCommand(
        "SELECT * FROM Books WHERE Title='" +
        title + "'",
        Conn);

    // Выполните команду.
    cmd.Connection = Conn;
    Conn.Open();
    OleDbDataReader reader = cmd.ExecuteReader();
    reader.Read();

    // Отображение текстовых данных.
    txtURL.Text = reader["URL"].ToString();
    txtYear.Text = reader["Year"].ToString();
    txtISBN.Text = reader["ISBN"].ToString();
    txtPages.Text = reader["Pages"].ToString();

    // Очистка.
    reader.Close();
    Conn.Close();
}

Код создает инструкцию SQL SELECT, чтобы получить все данные из таблицы Books для выбранной книги. Обратите внимание, что он использует Replace для преобразования одиночных кавычек в пары одинарных кавычек в названии книги. Если заголовок книги содержит одну цитату, как в «Справочнике программиста Visual Basic 2012», эта цитата будет соответствовать одинарным кавычкам в инструкции SELECT и запутать базу данных. Замена котировок парами котировок сообщает базе данных, что пара кавычек представляет собой одиночную кавычку в значении заголовка, чтобы запрос работал правильно.

После составления инструкции SELECT код выполняет ее, сохраняя результат метода ExecuteReader в объекте OldDbDataReader. Затем он вызывает метод Read объекта для получения первой (и единственной) записи результата.

Источник: http://csharphelper.com/blog/2017/05/display-database-records-without-data-binding-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector