惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
博客园 - 三生石上(FineUI控件)
V
V2EX
博客园 - 司徒正美
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
雷峰网
雷峰网
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
爱范儿
爱范儿
博客园 - 聂微东
量子位
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Vercel News
Vercel News

博客园 - 小林子

jQuery技术简介 在ASP·NET中实现页面之间的传参 Remoting简介 xml简介 关于CSS XAML简介 什么是WCF 泛型的优点 COBOL语言简介 OOP是什么? C#与VB.net的不同 vss Ajax的工作原理 Ajax优点和缺点 上传图片到服务器中的代码(并把图片的名字用当前时间来代替) DetailsView中编辑内容的设置内容和获取内容的方法 实现上传图片之后显示预览javaScript代码 在页面中通过地址栏传值的方法 GridView的用法总结(代码收藏)
一般后台执行类的写法
小林子 · 2008-04-20 · via 博客园 - 小林子

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// SqlDB 的摘要说明
/// </summary>
public class SqlDB
{

    //连接对象
    SqlConnection conn;

    //构造方法,获取web.config中的连接字符串

    public SqlDB()
        : this(ConfigurationManager.ConnectionStrings["sqldb"].ConnectionString)
    {

    }

    //重写构造方法,实例
    public SqlDB(string connectionString)
    {
        conn = new SqlConnection(connectionString);
    }

    /// <summary>
    /// 用于执行sql语句
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <returns>DataTable</returns>
    public DataTable Search(string sql)
    {
        if (conn.State != ConnectionState.Open)
            conn.Open();
        DataTable dt = new DataTable();
        SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
        try
        {
            sda.Fill(dt);
        }
        catch (SqlException se)
        {
            System.Diagnostics.Debug.WriteLine(se.Message);
        }
        finally
        {
            conn.Dispose();
            sda.Dispose();
            conn.Close();
        }

        return dt;
    }

    /// <summary>
    /// 用于执行sql语句
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <returns>bool</returns>
    public bool Execute(string sql)
    {
        if (conn.State != ConnectionState.Open)
            conn.Open();
        SqlCommand cmd = new SqlCommand(sql, conn);

        try
        {
            if (cmd.ExecuteNonQuery() > 0)
                return true;
        }
        catch (SqlException se)
        {
            System.Diagnostics.Debug.WriteLine(se.Message);
        }
        finally
        {
            conn.Dispose();
            cmd.Dispose();
            conn.Close();
        }
        return false;
    }

    /// <summary>
    /// 无参存储过程执行方法
    /// </summary>
    /// <param name="ProcName">存储过程名</param>
    /// <returns>SqlDataReader数据</returns>
    public DataTable SearchProc(string procName)
    {
        if (conn.State != ConnectionState.Open)
            conn.Open();
        DataTable dt = new DataTable();

        SqlDataAdapter sda = new SqlDataAdapter(procName, conn);

        try
        {
            sda.Fill(dt);
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.Message);
        }
        finally
        {
            conn.Dispose();
            sda.Dispose();
            conn.Close();
        }
        return dt;
    }


    /// <summary>
    /// 重写带参存储过程
    /// </summary>
    /// <param name="procName">存储过程名</param>
    /// <param name="procParms">存储过程参数</param>
    /// <returns>SqlDataReader数据</returns>
    public DataTable SearchProc(string procName, SqlParameter[] procParams)
    {

        if (conn.State != ConnectionState.Open)
            conn.Open();
        DataTable dt = new DataTable();
        SqlDataAdapter sda = new SqlDataAdapter();
        sda.SelectCommand = new SqlCommand(procName, conn);
        sda.SelectCommand.CommandType = CommandType.StoredProcedure;

        if (procParams != null)
        {
            foreach (SqlParameter procParam in procParams)
                sda.SelectCommand.Parameters.Add(procParam);

        }

        try
        {
            sda.Fill(dt);
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.Message);
        }
        finally
        {
            conn.Dispose();
            sda.Dispose();
            conn.Close();
        }
        return dt;
    }


    /// <summary>
    /// 无返回值存储过程执行方法

    /// </summary>
    /// <param name="procName">存储过程名</param>
    /// <param name="procParms">存储过程参数数组</param>
    /// <returns>bool</returns>
    public bool ExecuteProc(string procName, SqlParameter[] procParams)
    {
        if (conn.State != ConnectionState.Open)
            conn.Open();
        SqlCommand cmd = new SqlCommand(procName, conn);
        cmd.CommandType = CommandType.StoredProcedure;

        if (procParams != null)
        {
            foreach (SqlParameter procParm in procParams)
                cmd.Parameters.Add(procParm);
        }
        //try
        //{
        int i;
        i = cmd.ExecuteNonQuery();
        if (i > 0)
            return true;
        else
            return false;
    //}
    //catch (Exception ex)
    //{
        //System.Diagnostics.Debug.WriteLine(ex.Message);
    //}
    //finally
    //{
    //    conn.Dispose();
    //    cmd.Dispose();
    //    conn.Close();

    //}
    return false;
    }

}