NuGet 安裝 Microsoft.Data.SqlClient(推薦)或 System.Data.SqlClient。
// appsettings.json
"ConnectionStrings": {
"Default": "Server=localhost;Database=MyDb;User Id=sa;Password=123456;TrustServerCertificate=True;"
}
using Microsoft.Data.SqlClient;
using System.Data;
string connStr = ConfigurationManager.ConnectionStrings["Default"].ConnectionString;
using (var conn = new SqlConnection(connStr))
{
conn.Open();
// 查詢單值
using (var cmd = new SqlCommand("SELECT COUNT(*) FROM Users", conn))
{
int count = (int)cmd.ExecuteScalar();
}
// 參數化查詢
using (var cmd = new SqlCommand("SELECT * FROM Users WHERE Age > @age", conn))
{
cmd.Parameters.AddWithValue("@age", 18);
using (var reader = cmd.ExecuteReader())
{
while (reader.Read()) { Console.WriteLine(reader["Name"]); }
}
}
// 異步執行
await using (var cmd = new SqlCommand("INSERT INTO Users(Name,Age) VALUES(@n,@a)", conn))
{
cmd.Parameters.AddWithValue("@n", "Tom");
cmd.Parameters.AddWithValue("@a", 30);
int rows = await cmd.ExecuteNonQueryAsync();
}
}
using 確保連接釋放。Async 後綴) 提升高併發吞吐。