Skip to content

Vorschlag für eine Verbesserung. #1

@TSC-Home

Description

@TSC-Home
// Improved Code: Retrieve Data from SQL Server with Clean Structure and Error Handling
using System;
using System.Data.SqlClient;

internal class Program
{
    private static void Main(string[] args)
    {
        // Connection string for the SQL database
        string connectionString = @"Server=localhost;Database=master;Trusted_Connection=True;";

        try
        {
            // Establish a database connection
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                Console.WriteLine("Connection Open!");

                // SQL query to select all data from the "Test" table
                string sqlQuery = "SELECT * FROM Test";

                // Execute the SQL command and retrieve data
                using (SqlCommand command = new SqlCommand(sqlQuery, connection))
                using (SqlDataReader dataReader = command.ExecuteReader())
                {
                    // Display the retrieved results using a separate method
                    DisplayResults(dataReader);
                }
            }
        }
        catch (Exception ex)
        {
            // Handle and display errors gracefully
            Console.WriteLine("An error occurred: " + ex.Message);
        }
    }

    // Method to display query results
    private static void DisplayResults(SqlDataReader dataReader)
    {
        while (dataReader.Read())
        {
            string rowData = "";

            // Concatenate data for each column into a single row
            for (int i = 0; i < dataReader.FieldCount; i++)
            {
                rowData += (i == 0 ? "" : " - ") + dataReader.GetValue(i);
            }

            // Display the row
            Console.WriteLine(rowData);
        }
    }
}

1. Error Handling: Die Hinzufügung des try-catch-Blocks ermöglicht es, Fehler während der Ausführung abzufangen und aussagekräftige Fehlermeldungen auszugeben. Dies erleichtert das Debugging und die Fehlerbehebung.

2. Methode zur Anzeige der Ergebnisse: Die Auslagerung der Schleife zur Anzeige der Ergebnisse in eine separate Methode (DisplayResults) erhöht die Lesbarkeit des Hauptcodes und fördert die Wiederverwendbarkeit dieser Funktionalität.

3. Konsistente Namensgebung: Die Umbenennung von Variablen in konsistente Namen verbessert die Lesbarkeit und Verständlichkeit des Codes.

4. Dokumentation durch Kommentare: Die Hinzufügung von Kommentaren erklärt, was jeder Abschnitt des Codes tut, was für Entwickler, die den Code lesen, sehr hilfreich ist.

5. Ressourcenverwaltung durch using-Anweisungen: Die Verwendung von using-Anweisungen sorgt dafür, dass die Ressourcen (wie die SqlConnection und SqlDataReader) ordnungsgemäß freigegeben werden, wenn sie nicht mehr benötigt werden.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions