利用表值參數在 C# 中進行批次資料插入
本指南示範如何使用 C# 中的單一參數化查詢有效地將多行插入 SQL Server 資料庫(2008 或更高版本)。 這種技術採用表值參數,顯著提高了單一插入語句的效能。
定義使用者定義表格類型
首先在 SQL Server 中建立使用者定義的表格類型來表示插入的資料結構:
CREATE TYPE MyTableType AS TABLE ( Col1 int, Col2 varchar(20) ) GO
預存程序建立
接下來,建立一個接受此使用者定義的表格類型作為參數的預存程序:
CREATE PROCEDURE MyProcedure ( @MyTable dbo.MyTableType READONLY -- READONLY is crucial for table-valued parameters ) AS BEGIN INSERT INTO MyTable (Col1, Col2) SELECT Col1, Col2 FROM @MyTable; END; GO
C# 實作:資料表與預存程序執行
在您的 C# 程式碼中,建構一個 DataTable
來保存您要插入的資料:
DataTable dt = new DataTable(); dt.Columns.Add("Col1", typeof(int)); dt.Columns.Add("Col2", typeof(string)); // Populate the DataTable with your data here... For example: DataRow row1 = dt.NewRow(); row1["Col1"] = 1; row1["Col2"] = "Value 1"; dt.Rows.Add(row1); // ...add more rows as needed...
最後,使用 SqlCommand
執行預存程序:
using (SqlConnection con = new SqlConnection("YourConnectionString")) { using (SqlCommand cmd = new SqlCommand("MyProcedure", con)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@MyTable", dt); //AddWithValue handles SqlDbType automatically con.Open(); cmd.ExecuteNonQuery(); } }
此方法提供了一種高效的方法來插入具有參數化值的多行,與單一 INSERT
語句相比,可以防止 SQL 注入漏洞並提高資料庫效能。 請記得將 "YourConnectionString"
替換為您的實際連接字串。
以上是如何在 C# 中使用表值參數高效插入帶有參數化變數的多行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用MySQL的Alter Table語句修改表,包括添加/刪除列,重命名表/列以及更改列數據類型。

文章討論了為MySQL配置SSL/TLS加密,包括證書生成和驗證。主要問題是使用自簽名證書的安全含義。[角色計數:159]

文章討論了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比較了它們對初學者和高級用戶的功能和適合性。[159個字符]

本文討論了使用Drop Table語句在MySQL中放下表,並強調了預防措施和風險。它強調,沒有備份,該動作是不可逆轉的,詳細介紹了恢復方法和潛在的生產環境危害。

本文討論了在PostgreSQL,MySQL和MongoDB等各個數據庫中的JSON列上創建索引,以增強查詢性能。它解釋了索引特定的JSON路徑的語法和好處,並列出了支持的數據庫系統。

文章討論了使用準備好的語句,輸入驗證和強密碼策略確保針對SQL注入和蠻力攻擊的MySQL。(159個字符)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具