使用「ADO.NET」 進行資料庫的讀取、新增、修改、刪除的操作
一、前言
ADO.NET是微軟旗下用來連接資料來源(例如 Sql Server、XML…等),並且可以讀取、新增、修改、刪除其中資料的技術。而後 微軟以ADO.NET為基礎 推出Entity Framework,以筆者的經驗來說,新的專案較常使用Entity Framework,但舊的專案則使用ADO.NET,因此為了方便記憶而撰寫文章。
二、開發環境
- 整合開發環境:Visual Studio 2019
- 語言:C#
- .net framework:4.6.2
三、範例資料庫
圖、範例資料庫
四、讀取
範例皆使用參數型方式操作資料庫,避免Sql Injection問題。
圖、範例程式碼
- 原始碼(C#)
var cs = WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (var sc = new SqlConnection(cs))
{
sc.Open();
var cc = sc.CreateCommand();
cc.CommandText = $@"SELECT [a1],[a2] FROM [Test] where [Seq] = @Seq";
cc.Parameters.AddWithValue("@Seq", "1");
var ret = string.Empty;
var reader = cc.ExecuteReader();
while (reader.Read())
{
ret = $"a1={reader[0]},a2={reader[1]}";
}
reader.Close();
return ret;
}
圖、執行結果
五、新增
範例皆使用參數型方式操作資料庫,避免Sql Injection問題。
圖、範例程式碼
- 原始碼(C#)
var cs = WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (var sc = new SqlConnection(cs))
{
sc.Open();
var cc = sc.CreateCommand();
cc.CommandText = $@"INSERT INTO [Test] ([a1] ,[a2]) VALUES (@a1, @a2)";
cc.Parameters.AddWithValue("@a1", "a1");
cc.Parameters.AddWithValue("@a2", "a2");
return cc.ExecuteNonQuery();
}
圖、執行結果
六、修改
範例皆使用參數型方式操作資料庫,避免Sql Injection問題。
圖、範例程式碼
- 原始碼(C#)
var cs = WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (var sc = new SqlConnection(cs))
{
sc.Open();
var cc = sc.CreateCommand();
cc.CommandText = $@"UPDATE [Test] SET [a1] = @a1 WHERE [a2] = @a2";
cc.Parameters.AddWithValue("@a1", "a3");
cc.Parameters.AddWithValue("@a2", "a2");
return cc.ExecuteNonQuery();
}
圖、執行結果
七、刪除
範例皆使用參數型方式操作資料庫,避免Sql Injection問題。
圖、範例程式碼
- 原始碼(C#)
var cs = WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (var sc = new SqlConnection(cs))
{
sc.Open();
var cc = sc.CreateCommand();
cc.CommandText = $@"DELETE FROM [Test] WHERE [a1] = @a1";
cc.Parameters.AddWithValue("@a1", "a3");
return cc.ExecuteNonQuery();
}
圖、執行結果
八、相關連結
- 使用「Visual Studio 2019」建置一個有 Mvc 和 Web Api 架構的網站
- 使用「CsvHelper」讀取、寫入 CSV 檔案
- 好用的資料庫管理工具「SQL Server 資料庫專案」
- 「NLog」與「Sql Server」資料庫的完美搭配
- 使用「ADO.NET」 進行資料庫的讀取、新增、修改、刪除的操作
- 使用「Entity Framework Tools」建立資料庫關聯模型
- https://weitechshare.blogspot.com/2020/12/code-first.html
- 使用「SqlBulkCopy」進行大量資料寫入
- 「linqkit」動態組裝 LINQ 條件的好用套件
- 「Dapper」一個高效率輕量型 ORM 套件
留言
張貼留言