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

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - 小林子

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;
    }

}