Consulta de inserção SQL em C#
-
SQL Insert com o método de consulta simples em
C#
-
SQL Insert com o método de consulta parametrizada 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#.
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