zoukankan      html  css  js  c++  java
  • 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             }
  • 相关阅读:
    (8) MySQL主从复制架构使用方法
    (7) MySQL数据库备份详解
    (6) MySQL慢查询日志的使用
    解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题
    (5) 电商场景下的常见业务SQL处理
    (4) MySQL中EXPLAIN执行计划分析
    (3) MySQL分区表使用方法
    (2) 电商数据库表设计
    (1) Mysql高性能优化规范建议
    linux每日命令(39):lsof命令
  • 原文地址:https://www.cnblogs.com/sunran/p/3884462.html
Copyright © 2011-2022 走看看