数据操作DataBaseCtrl

本文介绍了一个C#数据库操作类,提供了执行SQL命令并返回不同结果类型的方法,包括SqlDataReader、布尔值、DataSet和对象。这些方法支持参数化存储过程调用,并确保了数据库连接的安全打开与关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class DataBaseCtrl
{
 protected string strconn = System.Configuration.ConfigurationManager.AppSettings["database"].ToString();
    public DataBaseCtrl()
 {
  //
  // TODO: 在此处添加构造函数逻辑
  //
 }
    /// <summary>
    /// 执行命令并输出SqlDataReader
    /// </summary>
    /// <param name="para">命令参数</param>
    /// <param name="strsqlcmd">执行命令名称</param>
    /// <returns>执行后得到的SqlDataReader</returns>
    public SqlDataReader returndatader(SqlParameter[] para, string strsqlcmd)
    {
        SqlConnection conn = new SqlConnection(strconn);
        SqlCommand cmd = new SqlCommand(strsqlcmd, conn);
        cmd.CommandType = CommandType.StoredProcedure;
        for (int i = 0; i < para.Length; i++)
        {
            cmd.Parameters.Add(para[i]);
        }
        conn.Open();
        SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        return dr;
    }
    /// <summary>
    /// 执行命令并返回BOOl结果
    /// </summary>
    /// <param name="para">要执行的命令参数</param>
    /// <param name="strsqlcom">命令名称</param>
    /// <returns>执行后得到的Bool结果</returns>
    public bool exebool(SqlParameter[] para, string strsqlcom)
    {
        bool jg = false;
        using (SqlConnection conn = new SqlConnection(strconn))
        {
            SqlCommand cmd = new SqlCommand(strsqlcom, conn);
            cmd.CommandType = CommandType.StoredProcedure;
            for (int i = 0; i < para.Length; i++)
            {
                cmd.Parameters.Add(para[i]);
            }

            conn.Open();
            try
            {
                cmd.ExecuteNonQuery();
                jg = true;
            }
            catch
            {
                jg = false;
            }
            finally
            {
                conn.Close();
            }
        }
        return jg;
    }
    /// <summary>
    /// 执行命令并输出DataSet
    /// </summary>
    /// <param name="para">命令参数</param>
    /// <param name="strsqlcmd">执行的命令名称</param>
    /// <returns>执行后得到结果DataSet信息</returns>
    public DataSet returndataset(SqlParameter[] para, string strsqlcmd)
    {
        DataSet ds = new DataSet();
        using (SqlConnection conn = new SqlConnection(strconn))
        {
            SqlDataAdapter sda = new SqlDataAdapter(strsqlcmd, conn);
            sda.SelectCommand.CommandType = CommandType.StoredProcedure;
            for (int i = 0; i < para.Length; i++)
            {
                sda.SelectCommand.Parameters.Add(para[i]);
            }
            sda.Fill(ds);
        }
        return ds;
    }
    /// <summary>
    /// 执行命令并输出object
    /// </summary>
    /// <param name="para">命令参数</param>
    /// <param name="strsqlcmd">要执行命令的名称</param>
    /// <returns>执行后得到的object结果</returns>
    public object retuntobject(SqlParameter[] para, string strsqlcmd)
    {
        object jg = "";
        using (SqlConnection conn = new SqlConnection(strconn))
        {
            SqlCommand cmd = new SqlCommand(strsqlcmd, conn);
            cmd.CommandType = CommandType.StoredProcedure;
            for (int i = 0; i < para.Length; i++)
            {
                cmd.Parameters.Add(para[i]);
            }
            conn.Open();
            jg = cmd.ExecuteScalar();
            conn.Close();
        }
        return jg;
    }
}

转载于:https://www.cnblogs.com/jonycaimarcia/archive/2010/05/20/1740234.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值