昨天看了一篇《一个简单的数据库操作类 》很有感处,的解很不错,但是我经常开发的东西有时基于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