SqlParameter类——带参数的SQL语句

简介:
 

SqlParameter 类

 

表示 SqlCommand 的参数,也可以是它到 DataSet 列的映射。无法继承此类。

命名空间:  System.Data.SqlClient

程序集:  System.Data(在 System.Data.dll 中)

 

 

举例1

    string strconn = "Data Source=xxx;user id=sa;pwd=;initial catalog=gltest";
        SqlConnection Conn = new SqlConnection(strconn);
        Conn.Open();

    // 声明参数
        string sql = "insert into users(name,pwd) values (@name,@pwd)";
        SqlCommand cmd = new SqlCommand(sql, Conn);

 

    // 添加参数
        cmd.Parameters.Add(new SqlParameter("@name", SqlDbType.NVarChar, 50));
       cmd.Parameters.Add(new SqlParameter("@pwd", SqlDbType.NVarChar, 50));

 

    // 为参数赋值
        cmd.Parameters["@name"].Value = this.TextBox1.Text;
       cmd.Parameters["@pwd"].Value = this.TextBox2.Text;


        cmd.ExecuteNonQuery();
        Conn.Close();  

 

comm.Parameters.Add()添加参数到参数集即(添加参数列表),add里面的第一个参数是要添加的参数名,第二个参数是参数的数据类型Parameters的作用就是把存储过程执行结束后得到的参数传到程序里。

第一个是参数名,第二个是参数类型,第三个是长度

 

举例二:

    /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Model.MonitoringPointsStatusInfo model)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("update TB_MonitoringPointsStatus set ");
            strSql.Append("PointID=@PointID,");
            strSql.Append("PointName=@PointName,");
            strSql.Append("Date=@Date,");
            strSql.Append("DangerousLevel=@DangerousLevel,");
            strSql.Append("IsUpload=@IsUpload,");
            strSql.Append("IsCheck=@IsCheck,");
            strSql.Append("IsSafe=@IsSafe,");
            strSql.Append("CycleTime=@CycleTime,");
            strSql.Append("ColumnValue=@ColumnValue,");
 
            strSql.Append("IsApproval=@IsApproval,");
            strSql.Append("CheckUser=@CheckUser,");
            strSql.Append("CheckRealName=@CheckRealName,");
            strSql.Append("Note=@Note");

        strSql.Append(" where ID=@ID");
            SqlParameter[] parameters = {
                         new SqlParameter("@ID", SqlDbType.Int,4),
                         new SqlParameter("@PointID", SqlDbType.Int,4),
                         new SqlParameter("@PointName", SqlDbType.NVarChar,50),
                         new SqlParameter("@Date", SqlDbType.DateTime),
                         new SqlParameter("@DangerousLevel", SqlDbType.Char,1),
                         new SqlParameter("@IsUpload", SqlDbType.Bit,1),
                         new SqlParameter("@IsCheck", SqlDbType.Bit,1),
                         new SqlParameter("@CycleTime",SqlDbType.Char,12),
                         new SqlParameter("@IsSafe", SqlDbType.Bit,1),
                         new SqlParameter("@ColumnValue", SqlDbType.Int),

                     new SqlParameter("@IsApproval", SqlDbType.Bit,1),
                         new SqlParameter("@CheckUser", SqlDbType.Int),
                         new SqlParameter("@CheckRealName", SqlDbType.NVarChar,50),
                         new SqlParameter("@Note", SqlDbType.Text)
                                        };


            parameters[0].Value = model.ID;
            parameters[1].Value = model.PointID;
            parameters[2].Value = model.PointName;
            parameters[3].Value = model.Date;
            parameters[4].Value = model.DangerousLevel;
            parameters[5].Value = model.IsUpload;
            parameters[6].Value = model.IsCheck;
            parameters[7].Value = model.CycleTime;
            parameters[8].Value = model.IsSafe;
            parameters[9].Value = model.ColumnValue;

        parameters[10].Value = model.IsApproval;
            parameters[11].Value = model.CheckUser;
            parameters[12].Value = model.CheckRealName;
            parameters[13].Value = model.Note;

            int rows = DBHelper.ExecuteSql(strSql.ToString(), parameters);
            if (rows > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        } 

参考博客:http://liuyuanjian82.blog.163.com/blog/static/40093839200942732222918/

目录
相关文章
|
1月前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
2月前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
3月前
|
SQL Java 数据库连接
mybatis使用四:dao接口参数与mapper 接口中SQL的对应和对应方式的总结,MyBatis的parameterType传入参数类型
这篇文章是关于MyBatis中DAO接口参数与Mapper接口中SQL的对应关系,以及如何使用parameterType传入参数类型的详细总结。
62 10
|
4月前
|
存储 SQL 关系型数据库
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
689 15
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
|
6月前
|
SQL 数据库 Python
【Python】已完美解决:(executemany()方法字符串参数问题)more placeholders in sql than params available
【Python】已完美解决:(executemany()方法字符串参数问题)more placeholders in sql than params available
103 1
|
7月前
|
SQL DataWorks 关系型数据库
DataWorks产品使用合集之如何将硬编码的配置值(例如SQL查询中的固定值)更改为调度参数
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
82 7
|
6月前
|
SQL
自定义SQL,可以利用MyBatisPlus的Wrapper来构建复杂的Where条件,如何自定义SQL呢?利用MyBatisPlus的Wrapper来构建Wh,在mapper方法参数中用Param注
自定义SQL,可以利用MyBatisPlus的Wrapper来构建复杂的Where条件,如何自定义SQL呢?利用MyBatisPlus的Wrapper来构建Wh,在mapper方法参数中用Param注
|
6月前
|
SQL Cloud Native 关系型数据库
云原生数据仓库使用问题之控制JDBC方式请求的SQL大小限制的参数是什么
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
6月前
|
SQL
常用工具类---SQL工具,HTTP工具
SQL工具,HTTP工具,两个实用小工具~~~
|
7月前
|
SQL 缓存 关系型数据库
PolarDB产品使用问题之已经修改了expire_logs_days参数并确认已生效,但在SQL查询中仍然显示为0,该怎么办
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。