SQL Insert Query in C#
-
SQL-Einfügung mit der einfachen Abfragemethode in
C#
-
SQL-Einfügung mit der parametrisierten Abfragemethode 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.
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