下面代码是个调用存储过程的例子,对于学习怎么使用DbHelperSQL调用存储过程很有帮助.
/// <summary>
/// 获得数据集
/// </summary>
/// <param name="tblName">表名</param>
/// <param name="RetColumns">需要返回的列,默认为全部 </param>
/// <param name="Orderfld">排序字段名</param>
/// <param name="PageSize">页尺寸</param>
/// <param name="PageIndex">页码 </param>
/// <param name="IsCount">返回记录总数, 非 0 值则返回 </param>
/// <param name="OrderType">设置排序类型, 非 asc 值则降序 </param>
/// <param name="strWhere">查询条件 (注意: 不要加 where) </param>
/// <returns>数据集</returns>
public static SqlDataReader Get_DataReader(string tblName,string RetColumns,string Orderfld,int PageSize,int PageIndex,int IsCount,string OrderType,string strWhere)
{
IDataParameter[] parameters = new SqlParameter[8];
parameters[0]=new SqlParameter("@tblName", SqlDbType.NVarChar,255);//表名
parameters[1]=new SqlParameter("@RetColumns", SqlDbType.NVarChar,1000);//需要返回的列,默认为全部
parameters[2]=new SqlParameter("@Orderfld", SqlDbType.NVarChar,255);//排序字段名
parameters[3]=new SqlParameter("@PageSize", SqlDbType.Int);//页尺寸
parameters[4]=new SqlParameter("@PageIndex", SqlDbType.Int);//页码
parameters[5]=new SqlParameter("@IsCount", SqlDbType.Bit);//返回记录总数, 非 0 值则返回
parameters[6]=new SqlParameter("@OrderType", SqlDbType.NVarChar,50);//设置排序类型, 非 asc 值则降序
parameters[7]=new SqlParameter("@strWhere", SqlDbType.NVarChar,1000);//查询条件 (注意: 不要加 where)
parameters[0].Value=tblName;
parameters[1].Value=RetColumns;
parameters[2].Value=Orderfld;
parameters[3].Value=PageSize;
parameters[4].Value=PageIndex;
parameters[5].Value=IsCount;
parameters[6].Value=OrderType;
parameters[7].Value=strWhere;
try
{
return DbHelperSQL.RunProcedure("proc_y_GetRecordFromPage",parameters);
}
catch
{
return null;
}
}
/// <summary>
/// 执行存储过程
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <returns>SqlDataReader</returns>
public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters )
{
SqlConnection connection = new SqlConnection(connectionString);
SqlDataReader returnReader;
connection.Open();
SqlCommand command = BuildQueryCommand( connection,storedProcName, parameters );
command.CommandType = CommandType.StoredProcedure;
returnReader = command.ExecuteReader();
return returnReader;
}
/// <summary>
/// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <returns>SqlCommand</returns>
private static SqlCommand BuildQueryCommand(SqlConnection connection,string storedProcName, IDataParameter[] parameters)
{
SqlCommand command = new SqlCommand( storedProcName, connection );
command.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add( parameter );
}
return command;
}
分享到:
相关推荐
DbHelperSQL类,包括对数据库操作的所有方法,如公用方法、执行简单SQL语句、执行带参数的SQL语句、存储过程操作等。
我们可以看到DbHelperSQL类的具体实现,包括构造函数(用于设置数据库连接字符串)、ExecuteNonQuery(执行非查询SQL)、ExecuteScalar(执行返回单个值的SQL)、ExecuteReader(执行返回DataReader的SQL)等方法。...
ADO.NET调用SQL Server存储过程是数据库操作中的常见任务,特别是在.NET框架中。存储过程是一种预编译的SQL代码集合,它可以提高性能、减少网络流量并增强数据安全性。以下是关于如何使用ADO.NET调用存储过程的详细...
DbHelperSQL类通常会提供方法来执行SQL语句,如`ExecuteNonQuery`(执行非查询操作,如INSERT、UPDATE或DELETE),`ExecuteScalar`(返回单个值,如查询结果的第一行第一列),以及`ExecuteReader`(用于获取数据集...
在实际使用中,开发人员会实例化`DbHelperMySQL`或`DbHelperSQL`对象,然后调用其提供的方法来执行相应的数据库操作。例如,为了插入一条记录,他们可能会使用`ExecuteNonQuery`方法,并传递一个包含INSERT SQL语句...
5. **存储过程调用**:如果应用中使用了存储过程,DbHelperSQL_SQL_Server会提供相应的方法来执行存储过程,并能够传递输入、输出或输入/输出参数。 6. **数据填充**:为了方便地将查询结果填充到数据集(DataSet)...
`SQLHelper`类提供了多个重载方法来执行存储过程,其中一个关键方法是接受`SqlParameter[]`数组作为参数的方法。通过创建`SqlParameter`对象,并设置其`ParameterName`、`SqlDbType`、`Direction`(输入、输出、输入...
此函数接收存储过程名称和参数数组,执行存储过程,并返回一个包含结果集的`DataSet`对象。 #### 二、事务处理 事务处理确保了数据库操作的原子性、一致性、隔离性和持久性(ACID特性)。在C#中,可以使用`...
### DBHelper 执行简单SQL语句的关键知识点 #### 一、概述 在.NET框架中,`DBHelper`类被设计用于简化对数据库的操作。通过封装常见的数据库操作(如执行SQL命令、查询数据等),该类使得开发人员可以更加高效地...
使用DBHelperSql,开发者可以通过调用其提供的方法,如ExecuteNonQuery(执行非查询操作,如插入、更新或删除语句)、ExecuteScalar(执行返回单个值的查询)和FillDataSet(填充数据集,通常用于获取多行数据)等,...
DBHelper.cs是一个常见的数据库辅助类,它在.NET开发中被广泛使用,特别是在处理与数据库交互的场景下。这个文件通常包含一系列静态方法,...总的来说,理解和掌握DBHelper的使用方法对于.NET开发者来说是非常重要的。
接下来,我们可以添加更多的方法来执行SQL命令,例如`ExecuteNonQuery`(执行不返回结果的SQL命令)、`ExecuteScalar`(返回单个值的SQL命令)和`FillDataSet`(填充DataSet的SQL查询): ```csharp // 执行不返回...
然后,调用DbHelperSQL类的RunProcedureParOut方法,这个方法封装了打开数据库连接、创建SqlCommand、执行存储过程并获取输出参数的逻辑。最后,通过返回的output值来得到存储过程的执行结果,并将这个结果以字符串...
集成了oracle、sql、access三个数据库的链接,可执行sql语句,可执行存储过程,是.net的,oracle的那块有点不人性化,有待修改,哈哈,大家见谅哈。
使用SQL DBHelper 类时,开发者只需实例化这个类,然后调用相应的方法,即可轻松地完成数据库操作。例如,以下代码展示了如何使用SQL DBHelper 执行一条简单的SELECT语句: ```csharp using (SqlDBHelper dbHelper ...
3. **执行存储过程** 调用存储过程的方式与执行SQL语句类似,只需将SQL语句替换为存储过程的名称,如`cmd.CommandType = CommandType.StoredProcedure;`,`cmd.CommandText = "usp_YourProcedure";`,同样可以使用`...
在Android应用开发中,数据存储是一项至关重要的任务,它使得...通过合理使用DbHelper,我们可以方便地实现数据的持久化存储,提升应用的用户体验。在实际项目中,结合 Dao 层可以进一步提高代码的可读性和可复用性。
执行带一个存储过程参数的的SQL语句。 向数据库里插入图像格式的字段 执行一条计算查询结果语句,返回查询结果 执行查询语句,返回MySqlDataReader 执行查询语句,返回DataSet 执行SQL语句,返回影响的记录数 执行多...
执行上述SQL语句后,通过***调用存储过程的方法如下: ```csharp public static DataTable GetList(string sqlDBO) { DataSet ds = new DataSet(); SqlCommand cmd = new SqlCommand(sqlDBO, Connection); ***...
`DbHelperSQL.cs`类可能会提供开始事务(`BeginTransaction()`)、提交事务(`Commit()`)和回滚事务(`Rollback()`)的方法,以处理可能出现的异常情况。 3. **命令执行**:使用`SqlCommand`对象执行SQL语句,如`...