Almacenamiento De Información De Libros En Una Base De Datos Sqlite En C#

Este ejercicio se centra en la creación de un programa que solicita al usuario datos sobre libros, como título, autor, género y resumen, y los almacena en una base de datos SQLite. El programa utilizará SQLite como almacenamiento persistente, lo que permite al usuario introducir información y guardarla en un formato estructurado. Esto demuestra cómo interactuar con una base de datos para almacenar y gestionar datos relacionados con libros.



Grupo

Bases Datos Relacionales en C#

Objectivo

1. Cree una clase "Libro" con propiedades para título, autor, género y resumen.
2. Solicite al usuario la información requerida del libro (título, autor, género y resumen).
3. Almacene los datos del libro en una base de datos SQLite creando una tabla para libros.
4. Implemente un método para insertar datos del libro en la base de datos y otro método para recuperar y mostrar los libros almacenados.

Cree un programa que solicite al usuario datos sobre los libros (título, autor, género y resumen) y los almacene en una base de datos SQLite.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;
using System.Data.SQLite; // SQLite library for database operations

class Book
{
    // Properties of the Book class
    public string Title { get; set; }
    public string Author { get; set; }
    public string Genre { get; set; }
    public string Summary { get; set; }

    // Constructor for the Book class
    public Book(string title, string author, string genre, string summary)
    {
        Title = title;
        Author = author;
        Genre = genre;
        Summary = summary;
    }
}

class BookDatabase
{
    // SQLite connection string
    private string connectionString = "Data Source=bookDatabase.db;Version=3;";

    // Method to create the database and the Books table
    public void CreateDatabase()
    {
        using (SQLiteConnection conn = new SQLiteConnection(connectionString))
        {
            conn.Open();
            string createTableQuery = "CREATE TABLE IF NOT EXISTS Books (Title TEXT, Author TEXT, Genre TEXT, Summary TEXT)";
            SQLiteCommand cmd = new SQLiteCommand(createTableQuery, conn);
            cmd.ExecuteNonQuery();
        }
    }

    // Method to insert a new book into the database
    public void InsertBook(Book book)
    {
        using (SQLiteConnection conn = new SQLiteConnection(connectionString))
        {
            conn.Open();
            string insertQuery = "INSERT INTO Books (Title, Author, Genre, Summary) VALUES (@Title, @Author, @Genre, @Summary)";
            SQLiteCommand cmd = new SQLiteCommand(insertQuery, conn);
            cmd.Parameters.AddWithValue("@Title", book.Title);
            cmd.Parameters.AddWithValue("@Author", book.Author);
            cmd.Parameters.AddWithValue("@Genre", book.Genre);
            cmd.Parameters.AddWithValue("@Summary", book.Summary);
            cmd.ExecuteNonQuery();
        }
    }

    // Method to display all books from the database
    public void DisplayBooks()
    {
        using (SQLiteConnection conn = new SQLiteConnection(connectionString))
        {
            conn.Open();
            string selectQuery = "SELECT * FROM Books";
            SQLiteCommand cmd = new SQLiteCommand(selectQuery, conn);
            SQLiteDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                Console.WriteLine($"Title: {reader["Title"]}, Author: {reader["Author"]}, Genre: {reader["Genre"]}, Summary: {reader["Summary"]}");
            }
        }
    }
}

class Program
{
    static void Main()
    {
        // Create a BookDatabase object
        BookDatabase database = new BookDatabase();

        // Create the database and the Books table if they don't exist
        database.CreateDatabase();

        // Prompt the user for book data
        Console.WriteLine("Enter book details:");
        Console.Write("Title: ");
        string title = Console.ReadLine();
        Console.Write("Author: ");
        string author = Console.ReadLine();
        Console.Write("Genre: ");
        string genre = Console.ReadLine();
        Console.Write("Summary: ");
        string summary = Console.ReadLine();

        // Create a Book object with the entered data
        Book newBook = new Book(title, author, genre, summary);

        // Insert the book data into the database
        database.InsertBook(newBook);

        // Display all books from the database
        Console.WriteLine("\nBooks in the database:");
        database.DisplayBooks();
    }
}

 Output

Enter book details:
Title: The Great Gatsby
Author: F. Scott Fitzgerald
Genre: Fiction
Summary: A novel about the American Dream in the 1920s.

Books in the database:
Title: The Great Gatsby, Author: F. Scott Fitzgerald, Genre: Fiction, Summary: A novel about the American Dream in the 1920s.

Comparte este ejercicio de C#

Practica más ejercicios C# de Bases Datos Relacionales en C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..