`
bulote
  • 浏览: 1385729 次
文章分类
社区版块
存档分类
最新评论

SqlParameter类——带参数的SQL语句

 
阅读更多

SqlParameter 类

<wbr><wbr></wbr></wbr>

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

命名空间: <wbr><wbr>System.Data.SqlClient</wbr></wbr>

程序集: <wbr><wbr>System.Data(在 System.Data.dll 中)</wbr></wbr>

<wbr><wbr></wbr></wbr>

<wbr><wbr></wbr></wbr>

举例1

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

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

<wbr></wbr>

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

<wbr></wbr>

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


<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> cmd.ExecuteNonQuery();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> Conn.Close();<wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

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

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

<wbr></wbr>

举例二:

<wbr><wbr><wbr> /// &lt;summary&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> /// 更新一条数据<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> /// &lt;/summary&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> public bool Update(Model.MonitoringPointsStatusIn<wbr>fo model)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> StringBuilder strSql = new StringBuilder();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("update TB_MonitoringPointsStatus set ");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:PointID=@PointID">PointID=@PointID</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:PointName=@PointName">PointName=@PointName</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:Date=@Date">Date=@Date</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:DangerousLevel=@DangerousLevel">DangerousLevel=@DangerousLevel</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:IsUpload=@IsUpload">IsUpload=@IsUpload</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:IsCheck=@IsCheck">IsCheck=@IsCheck</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:IsSafe=@IsSafe">IsSafe=@IsSafe</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:CycleTime=@CycleTime">CycleTime=@CycleTime</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:ColumnValue=@ColumnValue">ColumnValue=@ColumnValue</a>,");<br><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:IsApproval=@IsApproval">IsApproval=@IsApproval</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:CheckUser=@CheckUser">CheckUser=@CheckUser</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:CheckRealName=@CheckRealName">CheckRealName=@CheckRealName</a>,");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("<a href="mailto:Note=@Note">Note=@Note</a>");</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append(" where <a href="mailto:ID=@ID">ID=@ID</a>");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> SqlParameter[] parameters = {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SqlParameter("@ID", SqlDbType.Int,4),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SqlParameter("@PointID", SqlDbType.Int,4),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SqlParameter("@PointName", SqlDbType.NVarChar,50),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>new SqlParameter("@Date", SqlDbType.DateTime),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SqlParameter("@DangerousLevel", SqlDbType.Char,1),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SqlParameter("@IsUpload", SqlDbType.Bit,1),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SqlParameter("@IsCheck", SqlDbType.Bit,1),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SqlParameter("@CycleTime",SqlDbType.Char,12),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SqlParameter("@IsSafe", SqlDbType.Bit,1),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

分享到:
评论

相关推荐

    ado.net操作oracle简单参数化sql操作

    参数化查询是通过使用参数占位符而不是直接将值插入SQL语句来实现的,这有助于防止SQL注入。在ADO.NET中,我们使用OracleCommand对象来执行SQL命令,并通过OracleParameter对象来定义参数。假设我们有一个查询,需要...

    NET SQL Server数据访问抽象基础类

    5. **执行带存储过程参数的SQL语句**:支持通过存储过程传递参数,增加安全性和灵活性。 #### 实现细节 ##### 连接配置 `DbHelperSQL`类首先定义了一个静态字段`connectionString`,用于保存数据库连接字符串。该...

    C#操纵SQLServer的类

    在SqlCommand的Parameters集合中添加SqlParameter对象,对应SQL语句中的占位符。例如: ```csharp command.Parameters.Add(new SqlParameter("@param1", SqlDbType.NVarChar) { Value = value1 }); command....

    C#操作SQL Server和Access两种数据库的封装类

    3. 参数化查询:通过添加SqlParameter对象防止SQL注入攻击。 4. 数据读取:使用SqlDataReader或SqlDataAdapter获取查询结果并填充DataSet或DataTable。 5. 错误处理:捕获和处理SqlException,确保程序健壮性。 ...

    C#连接数据库完成增删改查

    - `SqlParameter`类用于添加参数化查询中的参数。 - `ExecuteNonQuery()`方法用于执行非查询类型的SQL语句,如INSERT、UPDATE或DELETE。 - 最后关闭连接并释放资源。 2. **删除数据**: ```csharp public int...

    ADOSample——SQL+Server+2005+Visual+C#+2005专业开发精解+源代码

    为了防止SQL注入,应使用参数化查询或存储过程,通过添加SqlParameter来传递值。 6. **数据适配器与数据集**: SqlDataAdapter用于填充DataSet或DataTable,从而在内存中创建数据库的副本。这使得在无连接模式下处理...

    MySQL 数据库 like 语句通配符模糊查询小结

    MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 数据库 like 语句通配符模糊查询小结 前言 今天在使用MySQL语句执行增删改查操作时,控制台报出了以下错误:Parameter...

    C#将SQL Server备份bak文件恢复

    restoreCommand.Parameters.Add(new SqlParameter("@BackupFilePath", bakFilePath)); ``` 这里,@BackupFilePath参数是bak文件的路径。 3. **使用SqlBackupDevice**:在C#中恢复备份文件,我们需要使用...

    iBATIS SQL Maps开发指南

    - **&lt;parameter&gt; 元素**:在 SQL 语句中使用参数元素,可以更灵活地处理参数。 - **InlineParameterMap**:在 SQL 语句中直接使用参数名称,适用于简单的参数映射场景。 - **基本类型输入参数**:如 String、Integer...

    数据库SQLHelper

    - **功能**:执行带参数的SQL语句。 - **参数**: - `sql`:SQL语句。 - `param`:SqlParameter数组,用于指定SQL语句中的参数。 - **返回值**: - 影响行数。 4. **ExecuteScalar 方法** - **功能**:执行...

    C# 数据库访问类 个人学习用

    - 使用`SqlCommand`类来执行SQL语句。可以设置SqlCommand的CommandText属性为SQL语句,然后通过Connection属性关联到SqlConnection对象。 ```csharp SqlCommand command = new SqlCommand("SELECT * FROM ...

    数据库查询语句

    例如,如果要获取`table_name`表中第`begin`行到第`end`行的数据,可以使用以下SQL语句: ```sql SELECT * FROM table_name WHERE ROWNUM &gt; begin AND ROWNUM ; ``` 然而,`ROWNUM`的使用有其局限性,如在连接操作...

    SQL Server 存储过程

    存储过程(Procedure)是预先编写的、存储在数据库中的SQL语句集合,用户可以通过调用存储过程的名字并提供必要的参数来执行它。存储过程可以包含复杂的逻辑控制语句和数据操纵语句,支持输入参数、输出参数、返回...

    ibatis例子,很好的

    3. 映射配置:Ibatis的映射配置包括了结果映射(Result Maps)、参数映射(Parameter Maps)等,用于处理SQL查询结果和输入参数的转化。 4. Session接口:Ibatis的SqlSession接口是与数据库交互的主要接口,用于...

    [程序源代码]数据库原理与应用——基础.开发技术.实践.rar

    `SqlCommand`的`Parameters`集合可以添加`SqlParameter`对象,对应于SQL语句中的占位符。 5. **数据适配器与数据集**:`SqlDataAdapter`是桥梁,用于在数据库和内存中的`DataSet`或`DataTable`之间传输数据。它可以...

    MyBatis拦截器(csdn)————程序.pdf

    StatementHandler是拦截Sql语法构建的处理,提供了prepare、parameterize、batch、update、query等方法,用于拦截Sql语句的构建和执行过程。 ParameterHandler是拦截参数的处理,用于处理参数的设置和获取。 ...

    ASP.NET 连接SQL数据库

    虽然本文主要介绍ADO.NET,但值得一提的是,Microsoft还提供了更高级的ORM(对象关系映射)工具——Entity Framework,它简化了与数据库的交互,无需直接编写SQL语句。 在ASP.NET中,使用ADO.NET连接SQL Server...

    Oracle存储过程

    Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许开发者编写包含一系列SQL语句和PL/SQL块的可重用代码段。存储过程可以看作是数据库中的一个对象,执行时可以接受参数,处理数据,然后返回结果。在...

    Visual C# 2005-语言基础,数据库系统开发示例代码

    示例代码可能演示了如何使用SqlParameter来设置查询参数,这对于动态构建SQL语句尤其有用。同时,事务处理也是数据库操作中的重要概念,示例可能展示了如何在C#中使用TransactionScope来管理数据库事务,确保数据的...

    SqlHelper.cs网上的借用

    SqlHelper.cs支持参数化查询,通过`SqlParameter`对象传递参数,既提高了安全性,也使得SQL语句更易于编写和维护。 5. **事务处理**:在多条数据库操作需要原子执行的情况下,事务处理至关重要。SqlHelper.cs通常...

Global site tag (gtag.js) - Google Analytics