在 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