一个数据库操作类

转载 2005年04月30日 09:31:00

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

 

using System;

using System.Data.SqlClient;

using System.Data;

using System.Configuration;

namespace web.base_class

{

     /// <summary>

     /// db_class 的摘要说明。注意用到executereader后一定要调用析构函数

     /// </summary>

     public class db_class

     {

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

         }

         /// <summary>

         /// 构造函数

         /// </summary>

         public db_class()

         {

              //

              // TODO: 在此处添加构造函数逻辑

              //

              conn.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["constr"].ToString();

         }

         ~ db_class()//析构函数

         {

              if (conn.State==ConnectionState.Open)

              conn.Close();

         }

 

         /// <summary>

         /// 打开数据库连接

         /// </summary>

         public void db_open()

         {

              if (conn.State==ConnectionState.Closed)

              {

                   conn.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["constr"].ToString();

                   conn.Open();

              }

         }

         /// <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

              {

                   this.db_close();

                   return false;

              }

         }

         /// <summary>

         /// 执行返回datareader的数据库查询

         /// </summary>

         /// <returns></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>

///

/// </summary>

/// <returns></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();

              }

         }

         public string sql2str(string def)

         {

              string rr="";

              SqlCommand cmd=new SqlCommand(_sql,conn);

              this.db_open();

              SqlDataReader dr;

              try

              {

                   dr=cmd.ExecuteReader(CommandBehavior.CloseConnection);

                   if(dr.HasRows)

                   {

                        dr.Read();

                        rr=dr[0].ToString();

                        dr.Close();

                        this.db_close();

                   }

              }

              catch

              {

                   rr="";

              }

              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;

              }

 

         }

     }

}

文章出自

sqlhelper,一个数据库操作类

  • 2009年03月04日 17:22
  • 109KB
  • 下载

一个SQL CE的数据库操作访问类

  • 2008年10月01日 00:08
  • 3KB
  • 下载

第14讲 小结 封装一个mysql数据库操作类

MySqlUtil

自己写的一个PHP数据库操作类

  • 2014年09月08日 14:06
  • 2KB
  • 下载

从配置文件读取数据连接信息,利用泛型和java反射机制,写一个公共的增删改查数据库操作类

背景: 最近在学习java,然后就看了spring jdbc。对于菜鸟来说,看得实在头大,然而还有强迫症作祟最是要不得。又要导入common的相关jar包,又要导入mysql的jar包,还要导入spr...

PHP实现的一个简单的数据库操作类(修改版)

PHP实现的一个简单的数据库操作类实现的功能:- 在实例化的时候能设置连接字符集- 在实例化的时候能连接数据库- 在实例化的时候能选择默认数据库- 销毁对象时关闭数据库代码如下:...

【java工具类】数据库操作时ResultSet的一个替代

大家有没有访问过数据库然后用resultset来读取数据呢?每次要遍历的时候是怎么样的? while(rs.next()){ Object ob=rs.getObject("xxx"); /*其他代...
  • cdnight
  • cdnight
  • 2013年05月06日 09:46
  • 648

分享一个数据库操作的类,大家一起来完善吧

操作数据库的类,创建数据库,删除数据库,备份和还原数据库,附加和分离数据库重新设置密码等 相关的操作 大家讨论一下,也像MS发布的SqlHelper一下发布一个有关数据操作的类出来。 ...

一个方便的.net数据库操作类(很容易扩展,以支持多种数据库)

转自 http://www.cnblogs.com/dreamszx/archive/2011/01/13/1934598.html本文分三部分1.数据抽象类(只有抽象,没有实现,由继承类去实现,以支...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个数据库操作类
举报原因:
原因补充:

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