首页 > 代码库 > Parameters.AddWithValue(“@参数”,value)方法

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 = http://www.mamicode.com/"ATarget";30 31                 cmd.Parameters[1].Value = http://www.mamicode.com/"Description";32 33                 cmd.Parameters[2].Value = http://www.mamicode.com/"Actor";34 35                 cmd.Parameters[3].Value =http://www.mamicode.com/ DateTime.Now;36 37                 cmd.Parameters[4].Value = http://www.mamicode.com/"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             }