当前位置:首页 > Windows程序 > 正文

c#,调用存储过程

2021-03-26 Windows程序

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Collections;
using System.Data;

namespace TestWindow
{

public class StoreProcedure
    {
        // 连接字符串。
        private string connectionString;
        // 存储过程名称。
        private string storeProcedureName;

//// <summary>
        /// 初始化 DataAccessHelper.StoreProceduer 对象。
        /// </summary>
        /// <param>数据库连接字符串。</param>

public StoreProcedure(string connectionString)
        {
            this.connectionString = connectionString;
        }

//// <summary>
        /// 初始化 DataAccessHelper.StoreProceduer 对象。
        /// </summary>
        /// <param>数据库连接字符串。</param>
        /// <param>存储过程名称。</param>
        public StoreProcedure(string storeProcedureName, string connectionString)
        {
            this.connectionString = connectionString;
            this.storeProcedureName = storeProcedureName;
        }

//// <summary>
        /// 获取或设置存储过程名称。
        /// </summary>
        public string StoreProcedureName
        {
            get { return this.storeProcedureName; }
            set { this.storeProcedureName = value; }
        }

//// <summary>
        /// 执行操作类(Insert/Delete/Update)存储过程。
        /// </summary>
        /// <param>传递给存储过程的参数值列表。</param>
        /// <returns>受影响的行数。</returns>
        public int ExecuteNonQuery(params object[] paraValues)
        {

using (SqlConnection connection = new SqlConnection(this.connectionString))
            {

SqlCommand command = this.CreateSqlCommand(connection);

try
                {
                    this.DeriveParameters(command);
                    this.AssignParameterValues(command, paraValues);
                    connection.Open();
                    int affectedRowsCount = command.ExecuteNonQuery();
                    return affectedRowsCount;
                }
                catch
                {
                    throw;
                }
            }
        }

//// <summary>
        /// 执行存储过程,返回 System.Data.DataTable。
        /// </summary>
        /// <param>传递给存储过程的参数值列表。</param>
        /// <returns>包含查询结果的 System.Data.DataTable。</returns>
        public DataTable ExecuteDataTable(params object[] paraValues)
        {

using (SqlConnection connection = new SqlConnection(this.connectionString))
            {

SqlCommand command = this.CreateSqlCommand(connection);

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/68126.html