Consulta de inserção SQL em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. SQL Insert com o método de consulta simples em C#
  2. SQL Insert com o método de consulta parametrizada em C#
Consulta de inserção SQL em C#

Neste tutorial, discutiremos métodos para inserir registros em um banco de dados em C#.

SQL Insert com o método de consulta simples em C#

O método de consulta simples pode inserir dados em uma tabela de banco de dados usando a consulta SQL insert em C#. Este método é simples e fácil de implementar, mas não é seguro. Este método não pode impedir nosso código de injeções de SQL. O exemplo de código a seguir nos mostra como podemos inserir dados em uma tabela de banco de dados com o método de consulta simples em 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();
      }
    }
  }
}

Resultado:

Records Inserted Successfully

O código acima insere dados na tabela Person do banco de dados com o método de consulta simples em C#.

A classe SqlConnection cria uma conexão com o banco de dados. Ela usa a string de conexão como parâmetro.

A classe SqlCommand cria um comando SQL que deve ser executado no banco de dados SQL Server. Leva o objeto SqlConnection e a consulta SQL como parâmetros.

A função connection.open() é usada para abrir a conexão com o banco de dados para executar alguma consulta. Não podemos executar nenhuma consulta sem abrir a conexão com o banco de dados.

Finalmente, a função command.ExecuteNonQuery() é usada para executar nossa consulta de inserção. A função command.ExecuteNonQuery() retorna o número de linhas afetadas pela consulta. Se ocorrer um erro, a função command.ExecuteNonQuery() retornará -1.

Depois de executar a consulta, a conexão precisa ser fechada com a função connection.Close().

SQL Insert com o método de consulta parametrizada em C#

O método de consulta parametrizada é usado para inserir dados em uma tabela de banco de dados usando a consulta SQL insert com parâmetros em C#. Especificamos parâmetros alternativos para nossos campos na consulta de inserção e, em seguida, inserimos dados nesses parâmetros alternativos. Este método é recomendado porque protege nosso código de injeções de SQL. O exemplo de código a seguir nos mostra como podemos inserir dados em uma tabela de banco de dados com o método de consulta parametrizada em 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();
      }
    }
  }
}

Resultado:

Records Inserted Successfully

O código acima insere dados na tabela Person do banco de dados com o método de consulta parametrizada em C#. O resto do código é muito semelhante ao exemplo anterior. A única diferença é que desta vez não escrevemos os valores dentro da consulta insert; inserimos valores separadamente com a função command.Parameters.AddWithValue() em 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

Artigo relacionado - Csharp Database