Query di inserimento SQL in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Inserimento SQL con il metodo query semplice in C#
  2. Inserimento SQL con il metodo di query con parametri in C#
Query di inserimento SQL in C#

In questo tutorial, discuteremo dei metodi per inserire record in un database in C#.

Inserimento SQL con il metodo query semplice in C#

Il metodo di query semplice può inserire dati in una tabella di database utilizzando la query SQL insert in C#. Questo metodo è semplice e facile da implementare ma non è sicuro. Questo metodo non può impedire al nostro codice di iniettare SQL. L’esempio di codice seguente mostra come inserire dati in una tabella di database con il metodo di query semplice in C#.

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();
      }
    }
  }
}

Produzione:

Records Inserted Successfully

Il codice precedente inserisce i dati nella tabella Person del database con il semplice metodo di query in C#.

La SqlConnection class crea una connessione con il database. Prende la stringa di connessione come parametro.

La classe SqlCommand crea un comando SQL che deve essere eseguito sul database SQL Server. Accetta l’oggetto SqlConnection e la query SQL come parametri.

La funzione connection.open() è usata per aprire la connessione con il database per eseguire qualche query. Non possiamo eseguire alcuna query senza aprire la connessione al database.

Infine, la funzione command.ExecuteNonQuery() viene utilizzata per eseguire la nostra query di inserimento. La funzione command.ExecuteNonQuery() restituisce il numero di righe interessate dalla query. Se si verifica un errore, la funzione command.ExecuteNonQuery() restituisce -1.

Dopo aver eseguito la query, la connessione deve essere chiusa con la funzione connection.Close().

Inserimento SQL con il metodo di query con parametri in C#

Il metodo di query parametrizzato viene utilizzato per inserire dati in una tabella di database utilizzando la query SQL insert con parametri in C#. Specifichiamo parametri alternativi per i nostri campi nella query di inserimento e quindi inseriamo i dati in quei parametri alternativi. Questo metodo è consigliato perché protegge il nostro codice dalle iniezioni SQL. L’esempio di codice seguente mostra come inserire dati in una tabella di database con il metodo di query con parametri in C#.

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();
      }
    }
  }
}

Produzione:

Records Inserted Successfully

Il codice precedente inserisce i dati nella tabella Person del database con il metodo di query parametrizzato in C#. Il resto del codice è abbastanza simile all’esempio precedente. L’unica differenza è che questa volta non scriviamo i valori all’interno della query insert; inseriamo i valori separatamente con la funzione command.Parameters.AddWithValue() in C#.

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

Articolo correlato - Csharp Database