CSDN博客

img itfly

c#接简单数据库操作类

发表于2004/5/10 12:16:00  1918人阅读

      昨天看了一篇《一个简单的数据库操作类   》很有感处,的解很不错,但是我经常开发的东西有时基于SQLSERVER,有时基于ORACLE,所以经常使用OLE DB连接.今天心血来潮,把我的数据库操作类拿来与大家分享。希望大家指正。

类代码:

using System;
using System.Data;
using System.Data.OleDb;

namespace DbClass
{
 /// <summary>
 /// Db_Class 的摘要说明。
 /// </summary>
 public class Db_Class
 {
  public OleDbConnection Conn;
  //构造函数
  public Db_Class()
  {
   Conn= new OleDbConnection("Provider=SQLOLEDB;Server=(local);Pwd=123456;UID=sa;Database=test");
  }
  //打开数据源链接
  public OleDbConnection Db_Conn()
  {
   Conn.Open();
   return Conn;
  }
  //返回DataReader数据集,下面的SQL可以动态生成
  public OleDbDataReader Db_CreateReader(string SQL)
  {
           Db_Conn();
     OleDbCommand cmd = new OleDbCommand(SQL,Conn);
     OleDbDataReader Rs = cmd.ExecuteReader();
     return Rs;
     this.close();
  }
  //返回DataReader数据集,下面的SQL是存储过程
  public OleDbDataReader Db_CommandReader(string SQL)
  {
   Db_Conn();
   OleDbCommand cmd = new OleDbCommand(SQL,Conn);
   cmd.CommandType = CommandType.StoredProcedure;
   OleDbDataReader Rs = cmd.ExecuteReader();
   return Rs;
   this.close();
  }
  //返回数据DataSet数据集
  public OleDbDataSet Db_CreateDataSet(string SQL)
  {
   Db_Conn();
   OleDbCommand cmd = new OleDbCommand(SQL,Conn);
   OleDbDataAdapter Adpt= new OleDbDataAdapter(cmd,Conn);
   DataSet Ds = new DataSet();
   Adpt.Fill(Ds,"NewTable");
   return Ds;
   this.close();
  }
  //返回数据DataReader数据集,不需要返回数据的修改,删除可以使用本函数
  public bool Db_ExecuteNonquery(string SQL)
  {
            Db_Conn();
            OleDbCommand cmd = new OleDbCommand(SQL,Conn);
   try
   {
     cmd.ExecuteNonQuery();
    return true;
   }
   catch
   {
    return false;
   }
   this.close();
  }
        //关闭数据链接
  public void close()
  {
   Conn.Close();
  }

 }
}
使用方法如下:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace DbClass
{
 /// <summary>
 /// WebForm1 的摘要说明。
 /// </summary>
 public class WebForm1 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DataGrid DataGrid1;
  protected System.Web.UI.WebControls.Button Button1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   //string SQL="select * from sysfiles";
   Db_Class Db_class = new Db_Class();
   DataGrid1.DataSource=Db_class.Db_CommandReader("sp_tables");//使用SQLSERVER的存储过程。
   DataGrid1.DataBind();
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   this.DataGrid1.SelectedIndexChanged += new System.EventHandler(this.DataGrid1_SelectedIndexChanged);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion
 }
}

 呵呵,第一次在CSDN上面发表文章,如果有什么不好的地方请指正,欢迎能够与大家一起讨论。QQ:171476439 email:soho_suport@163.COM

0 0

相关博文

我的热门文章

img
取 消
img