C# SqlParameter参数详细写法及其使用示例
在C#编程中,`SqlParameter`是ADO.NET库中的一个重要类,用于向数据库执行存储过程或SQL查询时传递参数。参数写法通常涉及到创建`SqlParameter`对象并设置其属性,以便正确地将值绑定到SQL语句中。以下是对`SqlParameter`参数写法的详细介绍: 1. 创建SqlParameter数组:首先,创建一个`SqlParameter`类型的数组,用于存储多个参数。例如,代码中定义了一个名为`parms`的数组,它包含了多个`SqlParameter`实例。每个实例的构造函数接受两个参数:一个是参数名称(如`@NodeID`、`@A00`等),另一个是实际要传递的数据值。例如,`new SqlParameter("@NodeID", UserRight.GetNodeId())`表示使用`GetNodeId()`方法获取的值作为`@NodeID`参数。 2. 参数类型设置:对于不同类型的值,需要设置`SqlParameter`的`SqlDbType`属性。例如,`@RETURN_VALUE`被设为`SqlDbType.Int`,表明该参数是一个整数类型。`SqlDbType`枚举提供了多种数据库数据类型,包括整型、字符串、日期、布尔值等。 3. ExecuteQuery 方法:这个方法接收SQL查询字符串、命令类型(如`CommandType.StoredProcedure`,用于存储过程调用)、参数数组以及一个通用时间(可能是超时时间)。如果SQL字符串为空,方法返回`null`。方法内部首先连接到数据库,然后创建`SqlCommand`对象,设置其`CommandType`属性,并将传入的参数数组添加到命令中。最后执行查询,并返回结果集,通常是一个`DataTable`对象。 总结来说,`SqlParameter`参数写法的核心在于创建参数对象,设置其名称、值和数据类型,并在执行SQL操作时将其关联到相应的命令。理解并正确使用这些参数是编写数据库操作代码的关键,确保了数据的准确性和代码的可维护性。同时,注意处理异常情况,如数据库连接错误或查询失败,以提高代码的健壮性。
SqlParameter[] parms = new SqlParameter[]
{
new SqlParameter("@NodeID",UserRight.GetNodeId()),
new SqlParameter("@A00",person.A00),
new SqlParameter("@ganburenzhi",person.BJXA0109),
new SqlParameter("@guanlichushi",person.GLCS),
new SqlParameter("@ganbushenfen",person.BJXA0110),
new SqlParameter("@flag",person.Flag),
new SqlParameter("@strInfo",person.Info),
new SqlParameter("@RETURN_VALUE",SqlDbType.Int)
};
一、第二种写法
/// <summary>
/// 可以执行存储过程的ExecuteQuery
/// </summary>
/// <param name="sql">sql语句或存储过程名称</param>
/// <param name="type">查询类型</param>
/// <param name="parms">查询参数数组</param>
/// <param name="commonTime">查询超时时间</param>
/// <returns></returns>
public static DataTable ExecuteQuery(string sql, CommandType type, SqlParameter[] parms, int commonTime) {
if(sql + "" == "") {
return null;
}
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["DBConStr"];
DataTable dt = null;
try {
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展