Parameters.AddWithValue(“@参数”,value)方法

cmd.Parameters.Add方法 VS Parameters.AddWithValue(“@参数”,value)方法的区别

以前用command方法执行存储过程增加参数时,总是先用cmd.Parameters.Add方法来设置参数和参数类型,再用Parameters[0].Value来给参数赋值。以前的一个动作代码示例:

string strConn = "Data Source=.;Initial Catalog=HISDB;Integrated Security=True";
using( SqlConnection conn = new SqlConnection(strConn))
{
    conn.Open();
    SqlCommand cmd = new SqlCommand("AuditMessageInsert", conn);
    //设置命令类型为存储过程,没有设置的话会执行失败
    cmd.CommandType = CommandType.StoredProcedure;
    //设置参数名和类型
    cmd.Parameters.Add("@Target", SqlDbType.NChar);
    cmd.Parameters.Add("@Description", SqlDbType.NChar);
    cmd.Parameters.Add("@Actor", SqlDbType.NChar);
    cmd.Parameters.Add("@Time", SqlDbType.DateTime);
    cmd.Parameters.Add("@Computer", SqlDbType.NChar);
    //给参数赋值
    cmd.Parameters[0].Value = "ATarget";
    cmd.Parameters[1].Value = "Description";
    cmd.Parameters[2].Value = "Actor";
    cmd.Parameters[3].Value = DateTime.Now;
    cmd.Parameters[4].Value = "PC-Computer";
    cmd.ExecuteNonQuery();
}

如果用Parameters.AddWithValue方法就不用这么麻烦了,可以直接加参数名和其值,不用再设置参数的类型,示例代码:

string strConn = "Data Source=.;Initial Catalog=HISDB;Integrated Security=True";
using( SqlConnection conn = new SqlConnection(strConn))
{
    conn.Open();
    SqlCommand cmd = new SqlCommand("AuditMessageInsert", conn);
   
    cmd.CommandType = CommandType.StoredProcedure;
   
 
    //增加参数:名称与类型 且与表中参数的顺序没关系
    cmd.Parameters.AddWithValue("@Actor", "Actor");
    cmd.Parameters.AddWithValue("@Target", "Target");
    cmd.Parameters.AddWithValue("@Description", "Description");

    cmd.Parameters.AddWithValue("@Computer", "Computer");
    cmd.Parameters.AddWithValue("@Time", DateTime.Now);


    cmd.ExecuteNonQuery();
}

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值