在 C# 中进行 SQL 插入查询
在本教程中,我们将讨论将记录插入到 C# 数据库中的方法。
使用 C# 中的简单查询方法进行 SQL 插入
简单的查询方法可以使用 C# 中的 SQL 插入
查询将数据插入数据库表中。该方法简单易行,但不安全。此方法不能阻止我们的代码被 SQL 注入。以下代码示例向我们展示了如何使用 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();
}
}
}
}
输出:
Records Inserted Successfully
上面的代码使用 C# 中的简单查询方法将数据插入数据库的 Person
表中。
SqlConnection
类创建与数据库的连接。它将连接字符串作为参数。
SqlCommand
类创建一个 SQL 命令,该命令是对 SQL Server 数据库执行。它以 SqlConnection
对象和 SQL 查询作为参数。
connection.open()
函数用于打开与数据库的连接以执行一些查询。如果不打开与数据库的连接,我们将无法执行任何查询。
最后,command.ExecuteNonQuery()
函数用于执行我们的插入查询。command.ExecuteNonQuery()
函数返回受查询影响的行数。如果发生错误,command.ExecuteNonQuery()
函数将返回 -1
。
执行查询后,需要使用 connection.Close()
函数关闭连接。
使用 C# 中的参数化查询方法进行 SQL 插入
参数化查询方法用于使用带有 C# 参数的 SQL insert
查询将数据插入数据库表中。我们在插入查询中为字段指定备用参数,然后将数据输入到这些备用参数中。推荐使用此方法,因为它可以保护我们的代码免于 SQL 注入。以下代码示例向我们展示了如何使用 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();
}
}
}
}
输出:
Records Inserted Successfully
上面的代码使用 C# 中的参数化查询方法将数据插入数据库的 Person
表中。其余代码与前面的示例非常相似。唯一的区别是这一次我们不在 insert
查询中写入值。我们使用 command.Parameters.AddWithValue()
函数分别输入值。
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