2008-08-28 52 views
7

我基本上試圖找出使用SqlClient命名空間在C#.NET中執行基本插入操作的最簡單方法。我使用SqlConnection爲我的數據庫鏈接,我已經成功執行一些讀取,我想知道插入數據的最簡單方法。我發現當我谷歌似乎是相當詳細的方法。C# - SQLClient - 最簡單的INSERT

回答

15
using (var conn = new SqlConnection(yourConnectionString)) 
{ 
    var cmd = new SqlCommand("insert into Foo values (@bar)", conn); 
    cmd.Parameters.AddWithValue("@bar", 17); 
    conn.Open(); 
    cmd.ExecuteNonQuery(); 
} 
+0

現貨!使用參數不僅可以保護您免受SQL注入攻擊(當然取決於.net參數類型),但它也將允許SQL Server緩存已編譯的查詢,並且僅在下次調用此代碼時替換該參數。 – MPritchard 2009-08-08 10:12:31

+1

推薦改變爲:使用 (VAR康恩=新的SqlConnection(yourConnectionString)) 使用(VAR CMD =新的SqlCommand( 「插入的Foo的值(@bar)」,康涅狄格州)) { cmd.Parameters.AddWithValue(」 @bar「,17); conn.Open(); cmd.ExecuteNonQuery(); } – MPritchard 2009-08-08 10:14:53

0
using (SqlConnection myConnection new SqlConnection("Your connection string")) 
{ 
    SqlCommand myCommand = new SqlCommand("INSERT INTO ... VALUES ...", myConnection); 
    myConnection.Open(); 
    myCommand.ExecuteNonQuery(); 
} 
2

既然你似乎是剛開始接觸這個,現在是熟悉數據訪問層(obligatory wikipedia link)概念的最佳時機。當你的應用程序與數據庫有更多的交互並且你希望儘量減少代碼重複時,它對你將會非常有幫助。也使更一致的行爲,使測試和噸其他事情更容易。