SQL Insert Query in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. SQL-Einfügung mit der einfachen Abfragemethode in C#
  2. SQL-Einfügung mit der parametrisierten Abfragemethode in C#
SQL Insert Query in C#

In diesem Tutorial werden Methoden zum Einfügen von Datensätzen in eine Datenbank in C# erläutert.

SQL-Einfügung mit der einfachen Abfragemethode in C#

Die einfache Abfragemethode kann Daten mithilfe der SQL-Abfrage insert in C# in eine Datenbanktabelle einfügen. Diese Methode ist einfach und leicht zu implementieren, aber nicht sicher. Diese Methode kann nicht verhindern, dass unser Code SQL-Injektionen enthält. Das folgende Codebeispiel zeigt uns, wie wir mit der einfachen Abfragemethode in C# Daten in eine Datenbanktabelle eingeben können.

using System;
using System.Data.SqlClient;

namespace sql_insert {
  class Program {
    static void Main(string[] args) {
      string connectionString =
          "Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
      SqlConnection connection = new SqlConnection(@connectionString);
      string query = "INSERT INTO Person (Name,Salary) VALUES('Max','$1200')";
      SqlCommand command = new SqlCommand(query, connection);
      try {
        connection.Open();
        command.ExecuteNonQuery();
        Console.WriteLine("Records Inserted Successfully");
      } catch (SqlException e) {
        Console.WriteLine("Error Generated. Details: " + e.ToString());
      } finally {
        connection.Close();
      }
    }
  }
}

Ausgabe:

Records Inserted Successfully

Der obige Code fügt Daten mit der einfachen Abfragemethode in C# in die Tabelle Person der Datenbank ein.

Die Klasse SqlConnection stellt eine Verbindung mit der Datenbank her. Sie verwendet die VerbindungsZeichenkette als Parameter.

Die Klasse SqlCommand erstellt einen SQL-Befehl, der für die SQL Server-Datenbank ausgeführt werden soll. Es werden das Objekt SqlConnection und die SQL-Abfrage als Parameter verwendet.

Die Funktion connection.open() wird verwendet, um die Verbindung mit der Datenbank zu öffnen und eine Abfrage auszuführen. Wir können keine Abfragen ausführen, ohne die Verbindung zur Datenbank zu öffnen.

Schließlich wird die Funktion command.ExecuteNonQuery() verwendet, um unsere Einfügeabfrage auszuführen. Die Funktion command.ExecuteNonQuery() gibt die Anzahl der von der Abfrage betroffenen Zeilen zurück. Wenn ein Fehler auftritt, gibt die Funktion command.ExecuteNonQuery() -1 zurück.

Nach dem Ausführen der Abfrage muss die Verbindung mit der Funktion connection.Close() geschlossen werden.

SQL-Einfügung mit der parametrisierten Abfragemethode in C#

Die parametrisierte Abfragemethode wird verwendet, um Daten mithilfe der SQL-Abfrage insert mit Parametern in C# in eine Datenbanktabelle einzufügen. Wir geben alternative Parameter für unsere Felder in der Einfügeabfrage an und geben dann Daten in diese alternativen Parameter ein. Diese Methode wird empfohlen, da sie unseren Code vor SQL-Injektionen schützt. Das folgende Codebeispiel zeigt uns, wie wir mit der parametrisierten Abfragemethode in C# Daten in eine Datenbanktabelle eingeben können.

using System;
using System.Data.SqlClient;

namespace sql_insert {
  class Program {
    static void Main(string[] args) {
      string connectionString =
          "Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
      SqlConnection connection = new SqlConnection(@connectionString);
      string query = "INSERT INTO Products (Name, Salary) VALUES(@Name, @Salary)";
      SqlCommand command = new SqlCommand(query, connection);

      command.Parameters.AddWithValue("@Name", "Max");
      command.Parameters.AddWithValue("@Salary", "$1200");

      try {
        connection.Open();
        command.ExecuteNonQuery();
        Console.WriteLine("Records Inserted Successfully");
      } catch (SqlException e) {
        Console.WriteLine("Error Generated. Details: " + e.ToString());
      } finally {
        connection.Close();
      }
    }
  }
}

Ausgabe:

Records Inserted Successfully

Der obige Code fügt Daten mit der parametrisierten Abfragemethode in C# in die Tabelle Person der Datenbank ein. Der Rest des Codes ist dem vorherigen Beispiel ziemlich ähnlich. Der einzige Unterschied besteht darin, dass wir diesmal die Werte nicht in die Abfrage insert schreiben. Wir geben Werte separat mit der Funktion command.Parameters.AddWithValue() in C# ein.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Csharp Database