我积累的数据库操作类(ASP.NET)

转载 2006年06月21日 16:07:00

拿它做了两个项目了,感觉还是很实用,拿出来大家一起学习,都是做项目的时候想到了就写上,肯定有很多地方需要改进,大家多指教。

 

using System;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;

namespace op_db
{
/// <summary>
/// 专门用来处理与数据库的操作
/// </summary>

    public class db_class
    
{
        
#region 成员
        
private SqlConnection conn=new SqlConnection();
        
/// <summary>
        
/// 私有成员
        
/// </summary>

        private string _sql;
        
/// <summary>
        
/// 属性:数据库查询语句
        
/// </summary>

        private string _er;
        
public string er
        
{
            
get{return _er;}
            
        }

        
public string sql
        
{
            
get{return _sql;}
            
set{_sql=value;}
        }

        
#endregion



        
#region 函数

        
/// <summary>
        
/// 构造函数
        
/// </summary>

        public db_class()
        
{
            
//
            
// TODO: 在此处添加构造函数逻辑
            
//
            conn.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["constr"].ToString();
        }

        
/// <summary>
        
/// 析构函数
        
/// </summary>

        ~ db_class()
        
{
            
if (conn.State==ConnectionState.Open)
            conn.Close();
        }


        
/// <summary>
        
/// 打开数据库连接
        
/// </summary>

        public void db_open()
        
{
            
try
            
{
                
if (conn.State==ConnectionState.Closed)
                
{
                    conn.ConnectionString
=System.Configuration.ConfigurationSettings.AppSettings["constr"].ToString();
                    conn.Open();
                }

            }

            
catch(Exception ex)
            
{
                
//System.Web.HttpContext.Current.Response.Redirect(System.Configuration.ConfigurationSettings.AppSettings["conn_admin"].ToString());
                System.Web.HttpContext.Current.Response.Write(ex.Message);
                System.Web.HttpContext.Current.Response.End();
            }


        }


        
/// <summary>
        
/// 关闭数据库连接
        
/// </summary>

        public void db_close()
        
{
            
if (conn.State==ConnectionState.Open){
                conn.Close();
                conn.Dispose();
            }

        }



        
/// <summary>
        
/// 执行非返回型查询语句
        
/// </summary>
        
/// <returns>是否执行成功</returns>

        public bool executesql()
        
{
            SqlCommand cmd
=new SqlCommand(_sql,conn);
            
this.db_open();
            
try
            
{
                cmd.ExecuteNonQuery();
                
this.db_close();
                
return true;
            }

            
catch(Exception ex)
            
{
                
this.db_close();
                System.Web.HttpContext.Current.Response.Write(ex.Message);
                System.Web.HttpContext.Current.Response.End();
                
return false;
            }


        }


        
/// <summary>
        
/// 执行返回datareader的数据库查询
        
/// </summary>
        
/// <returns>datareader对象</returns>

        public SqlDataReader executereader()
        
{
            SqlCommand cmd
=new SqlCommand(_sql,conn);
            
this.db_open();
            SqlDataReader dr;
            
try
            
{
                dr
=cmd.ExecuteReader(CommandBehavior.CloseConnection);//参数表示关闭datagrid对象就会关闭connection对象
                if (dr.HasRows==true)
                
{
                    
return dr;
                }

                
else
                
{
                    _er
="数据为空";
                    
return null;
                }

            }

            
catch
            
{
                _er
="语句错误";
                
return null;
            }

        }



        
/// <summary>
        
/// 将sql语句返回为dataview
        
/// </summary>
        
/// <returns>dataview对象</returns>

        public DataView executedv()
        
{
            System.Data.SqlClient.SqlDataAdapter da
=new SqlDataAdapter(_sql,conn);
            DataSet ds
=new DataSet();
            
this.db_open();
            
try
            
{
                da.Fill(ds,
"tb");
                DataView dv
=new DataView(ds.Tables["tb"]);
                
if (dv.Count>0)
                
{
                    
this.db_close();
                    
return dv;
                }

                
else
                
{
                    
this.db_close();
                    _er
="数据出错";
                    
return null;
                }

            }

            
catch
            
{
                _er
="数据出错";
                
return null;
            }

            
finally
            
{
                
this.db_close();
            }

        }


        
/// <summary>
        
/// 将只返回一条记录的sql语句执行并且返回结果
        
/// </summary>
        
/// <param name="def">如果没有记录的话的默认值</param>
        
/// <returns>返回结果为string</returns>

        
        
public string sql2str(string def)
        
{
            
string rr="";
            SqlCommand cmd
=new SqlCommand(_sql,conn);
            System.Data.SqlClient.SqlDataReader dr;
            
this.db_open();
            
try
            
{
                dr
=cmd.ExecuteReader(CommandBehavior.CloseConnection);
                
if(dr.HasRows)
                
{
                    dr.Read();
                    rr
=dr[0].ToString();
                    dr.Close();
                    
this.db_close();
                }

            }

            
catch
            
{
                rr
="";
            }

            
finally{this.db_close();}
            
if(rr=="")
                rr
=def;
            
return rr;
        }



        
/// <summary>
        
/// 执行返回BOOL的存储过程
        
/// </summary>
        
/// <returns>是否执行成功</returns>

        public bool exepro()
        
{
            
this.db_open();
            SqlCommand cmd
=new SqlCommand(_sql,conn);
            cmd.CommandType
=CommandType.StoredProcedure;
            
try
            
{
                cmd.ExecuteNonQuery();
                
this.db_close();
                
return true;
            }

            
catch
            
{
                
this.db_close();
                
return false;
            }


        }

        
#endregion

    }

}

 

http://guanvee.cnblogs.com/archive/2006/06/16/427510.html

应该积累知识还是应该积累经验???

我常常思考的问题!!
  • henth
  • henth
  • 2006年02月02日 09:42
  • 388

Asp.net中打造通用数据访问类(c#)

Asp.net中打造通用数据访问类(c#)     刚刚写的,可能里面会有漏洞,望指正.     ASP。NET开发中, 业务实体需要通过数据访问层与数据库交互,因此,你必须为每个业务实体类编写相对应...
  • tielu0144
  • tielu0144
  • 2007年01月23日 21:24
  • 633

离职,我来说!行业积累和技术积累

最近公司里面好像离职的人好像比较多,可能是春天的缘故大家都有那么一点点萌动,本来这个时候就是跳槽高峰,招聘也是比比皆是。想想自己,去年的这个时候,也产生了跳槽的萌动,那时候自己抱着两个想法,当前的工作...
  • annicybc
  • annicybc
  • 2007年03月23日 13:20
  • 7044

ASP.NET MongoDB数据库操作类

1、Web.config文件中配置数据库连接信息,如下代码:                    -->                                -->...
  • taomanman
  • taomanman
  • 2017年08月09日 10:56
  • 551

我的数据库操作类

using System;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.W...
  • New919
  • New919
  • 2005年11月17日 15:50
  • 799

ASP EF框架,数据库操作类(上下文类)的实例创建,线程内唯一对象(HttpContext)

因为多个数据库操作类实例(上下文实例),多个实例同时操作数据库可能会引起数据冲突,所以要用一个(同一个)操作类实例(工作单元模式,多次操作数据库,操作多张表,但只链接一次数据库,提高性能。(延迟加载(...
  • houyanhua1
  • houyanhua1
  • 2018年01月07日 20:20
  • 275

Asp.Net数据库操作类

using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using Syst...
  • gtosky4u
  • gtosky4u
  • 2009年03月21日 17:02
  • 1132

php mysql数据库操作类,功能很强大

  • dongsg11200
  • dongsg11200
  • 2014年03月25日 13:23
  • 2948

ASP.NET数据库操作类

using System; using System.Data; using System.Configuration; using System.Web; using System.Web....
  • xyzqiang
  • xyzqiang
  • 2011年04月12日 11:19
  • 324

ASP.NET数据库操作类——打包

using System; using System.Data; using System.Data.SqlClient; using System.Configuration; ...
  • qq_36251958
  • qq_36251958
  • 2017年07月29日 19:46
  • 93
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我积累的数据库操作类(ASP.NET)
举报原因:
原因补充:

(最多只允许输入30个字)