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> /// <summary><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> /// 更新一条数据<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> /// </summary><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>
分享到:
相关推荐
参数化查询是通过使用参数占位符而不是直接将值插入SQL语句来实现的,这有助于防止SQL注入。在ADO.NET中,我们使用OracleCommand对象来执行SQL命令,并通过OracleParameter对象来定义参数。假设我们有一个查询,需要...
5. **执行带存储过程参数的SQL语句**:支持通过存储过程传递参数,增加安全性和灵活性。 #### 实现细节 ##### 连接配置 `DbHelperSQL`类首先定义了一个静态字段`connectionString`,用于保存数据库连接字符串。该...
在SqlCommand的Parameters集合中添加SqlParameter对象,对应SQL语句中的占位符。例如: ```csharp command.Parameters.Add(new SqlParameter("@param1", SqlDbType.NVarChar) { Value = value1 }); command....
3. 参数化查询:通过添加SqlParameter对象防止SQL注入攻击。 4. 数据读取:使用SqlDataReader或SqlDataAdapter获取查询结果并填充DataSet或DataTable。 5. 错误处理:捕获和处理SqlException,确保程序健壮性。 ...
- `SqlParameter`类用于添加参数化查询中的参数。 - `ExecuteNonQuery()`方法用于执行非查询类型的SQL语句,如INSERT、UPDATE或DELETE。 - 最后关闭连接并释放资源。 2. **删除数据**: ```csharp public int...
为了防止SQL注入,应使用参数化查询或存储过程,通过添加SqlParameter来传递值。 6. **数据适配器与数据集**: SqlDataAdapter用于填充DataSet或DataTable,从而在内存中创建数据库的副本。这使得在无连接模式下处理...
MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 数据库 like 语句通配符模糊查询小结 前言 今天在使用MySQL语句执行增删改查操作时,控制台报出了以下错误:Parameter...
restoreCommand.Parameters.Add(new SqlParameter("@BackupFilePath", bakFilePath)); ``` 这里,@BackupFilePath参数是bak文件的路径。 3. **使用SqlBackupDevice**:在C#中恢复备份文件,我们需要使用...
- **<parameter> 元素**:在 SQL 语句中使用参数元素,可以更灵活地处理参数。 - **InlineParameterMap**:在 SQL 语句中直接使用参数名称,适用于简单的参数映射场景。 - **基本类型输入参数**:如 String、Integer...
- **功能**:执行带参数的SQL语句。 - **参数**: - `sql`:SQL语句。 - `param`:SqlParameter数组,用于指定SQL语句中的参数。 - **返回值**: - 影响行数。 4. **ExecuteScalar 方法** - **功能**:执行...
- 使用`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 > begin AND ROWNUM ; ``` 然而,`ROWNUM`的使用有其局限性,如在连接操作...
存储过程(Procedure)是预先编写的、存储在数据库中的SQL语句集合,用户可以通过调用存储过程的名字并提供必要的参数来执行它。存储过程可以包含复杂的逻辑控制语句和数据操纵语句,支持输入参数、输出参数、返回...
3. 映射配置:Ibatis的映射配置包括了结果映射(Result Maps)、参数映射(Parameter Maps)等,用于处理SQL查询结果和输入参数的转化。 4. Session接口:Ibatis的SqlSession接口是与数据库交互的主要接口,用于...
`SqlCommand`的`Parameters`集合可以添加`SqlParameter`对象,对应于SQL语句中的占位符。 5. **数据适配器与数据集**:`SqlDataAdapter`是桥梁,用于在数据库和内存中的`DataSet`或`DataTable`之间传输数据。它可以...
StatementHandler是拦截Sql语法构建的处理,提供了prepare、parameterize、batch、update、query等方法,用于拦截Sql语句的构建和执行过程。 ParameterHandler是拦截参数的处理,用于处理参数的设置和获取。 ...
虽然本文主要介绍ADO.NET,但值得一提的是,Microsoft还提供了更高级的ORM(对象关系映射)工具——Entity Framework,它简化了与数据库的交互,无需直接编写SQL语句。 在ASP.NET中,使用ADO.NET连接SQL Server...
Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许开发者编写包含一系列SQL语句和PL/SQL块的可重用代码段。存储过程可以看作是数据库中的一个对象,执行时可以接受参数,处理数据,然后返回结果。在...
示例代码可能演示了如何使用SqlParameter来设置查询参数,这对于动态构建SQL语句尤其有用。同时,事务处理也是数据库操作中的重要概念,示例可能展示了如何在C#中使用TransactionScope来管理数据库事务,确保数据的...
SqlHelper.cs支持参数化查询,通过`SqlParameter`对象传递参数,既提高了安全性,也使得SQL语句更易于编写和维护。 5. **事务处理**:在多条数据库操作需要原子执行的情况下,事务处理至关重要。SqlHelper.cs通常...