Parameters.AddWithValue(“@參數”,value)方法


以前用command方法執行存儲過程增加參數時,總是先用cmd.Parameters.Add方法來設置參數和參數類型,再用Parameters[0].Value來給參數賦值。以前的一個動作代碼示例:

 1 string strConn = "Data Source=.;Initial Catalog=HISDB;Integrated Security=True";
 2 
 3             using( SqlConnection conn = new SqlConnection(strConn))
 4 
 5             {
 6 
 7                 conn.Open();
 8 
 9                 SqlCommand cmd = new SqlCommand("AuditMessageInsert", conn);
10 
11                 //設置命令類型為存儲過程,沒有設置的話會執行失敗
12 
13                 cmd.CommandType = CommandType.StoredProcedure;
14 
15                 //設置參數名和類型
16 
17                 cmd.Parameters.Add("@Target", SqlDbType.NChar);
18 
19                 cmd.Parameters.Add("@Description", SqlDbType.NChar);
20 
21                 cmd.Parameters.Add("@Actor", SqlDbType.NChar);
22 
23                 cmd.Parameters.Add("@Time", SqlDbType.DateTime);
24 
25                 cmd.Parameters.Add("@Computer", SqlDbType.NChar);
26 
27                 //給參數賦值
28 
29                 cmd.Parameters[0].Value = "ATarget";
30 
31                 cmd.Parameters[1].Value = "Description";
32 
33                 cmd.Parameters[2].Value = "Actor";
34 
35                 cmd.Parameters[3].Value = DateTime.Now;
36 
37                 cmd.Parameters[4].Value = "PC-Computer";
38 
39                 cmd.ExecuteNonQuery();
40 
41             }

 

如果用Parameters.AddWithValue方法就不用這么麻煩了,可以直接加參數名和其值,不用再設置參數的類型,示例代碼:

 1 string strConn = "Data Source=.;Initial Catalog=HISDB;Integrated Security=True";
 2 
 3             using( SqlConnection conn = new SqlConnection(strConn))
 4 
 5             {
 6 
 7                 conn.Open();
 8 
 9                 SqlCommand cmd = new SqlCommand("AuditMessageInsert", conn);
10 
11                
12 
13                 cmd.CommandType = CommandType.StoredProcedure;
14 
15                
16 
17        
18 
19                 //增加參數:名稱與類型 且與表中參數的順序沒關系
20 
21                 cmd.Parameters.AddWithValue("@Actor", "Actor");
22 
23                 cmd.Parameters.AddWithValue("@Target", "Target");
24 
25                 cmd.Parameters.AddWithValue("@Description", "Description");
26 
27  
28 
29                 cmd.Parameters.AddWithValue("@Computer", "Computer");
30 
31                 cmd.Parameters.AddWithValue("@Time", DateTime.Now);
32 
33  
34 
35  
36 
37                 cmd.ExecuteNonQuery();
38 
39             }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM