前言
项目框架采用开源框架NFine进行二次扩展处理,要求支持调用存储过程进行处理返回datatable或者dataset进行判断存储过程是否执行完毕,需要进行判断处理。
需求
在NFine框架中实现调用存储过程的功能
代码示例 数据库类库层
/// <summary>
/// 调用存储参数
/// </summary>
/// <param name="produceName">存储过程的名称</param>
/// <param name="sqlParameter">参数信息</param>
/// <param name="dt">存储过程返回的表结构信息</param>
/// <returns></returns>
public DataSet ExcuteProcedure(string produceName, SqlParameter[] sqlParameter, DataTable dt)
{
//定义一个返回DataSet的变量处理
DataSet ds = new DataSet();
//数据库连接声明
using (SqlConnection conn = dbcontext.Database.Connection as SqlConnection)
{
//打开数据库连接
conn.Open();
//创建一个执行命令
using (SqlCommand cmd = conn.CreateCommand())
{
//存储过程名
cmd.CommandText = produceName;
//命令执行的类型 是存储过程的
cmd.CommandType = CommandType.StoredProcedure