数据库操作类(可用于任意数据库)

数据|数据库

前些日子无聊写的一个类,针对于不同的数据库来写的。
现在还是不能说是完整的,因为还有很多功能都没有写完全。同样,在下面的代码当中也只可用于SQL和OLE两种,对于Oracle、MySql等还没有支持。当然,这类的扩展功能对其它数据库的支持只要在文件中加入那么一句就可以用了!^o^
====================================================

这里我用一个例子做源码说明:
在Web.config里加入..:

<appSettings>
<add key="sqlConnection" value="SERVER=(local);USER ID=sa;PWD=zxbbugu;DATABASE=testdatabase;CONNECT TIMEOUT=5;" />
</appSettings>

新建一个类文件:DataBaseConnec.cs

using System;
using System.Data;
using System.Configuration;

namespace Test
{
/// <summary>
/// DataBaseConnect 的摘要描述。
/// </summary>
public class DataBaseConnect
{

public string dataBaseType;
public string dataBaseName;

protected IDbConnection dataConnection;

public DataBaseConnect()
{
//
// TODO: 在這裡加入建構函式的程式碼
//
}

public IDbConnection DbConnection()
{
//判斷數據庫類型以及打開在web.config裡key所指定的數據庫。返回IDbConnection值。
switch (dataBaseType)
{
case "SQL":
dataConnection = new System.Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings[dataBaseName]);
break;
case "OLE":
dataConnection = new System.Data.OleDb.OleDbConnection(ConfigurationSettings.AppSettings[dataBaseName]);
break;
}
return dataConnection;
}
}
}

================================================

再建一個類文件:DataBaseTool.cs

using System;
using System.Data;

namespace Test
{
/// <summary>
/// DataBaseTool 的摘要描述。
/// </summary>
public class DataBaseTool
{
private IDbConnection dbConnection;
private IDbCommand cmd;
private IDataReader dataReader;
private DataBaseConnect dbConnect = new DataBaseConnect();

public DataBaseTool()
{
//
// TODO: 在這裡加入建構函式的程式碼
//
}

public void Open(string dataBaseType,string dataBaseName)
{
//成員函數,參數dataBaseType為數據庫類型,參數dataBaseName為在web.config裡的key名稱
dbConnect.dataBaseType = dataBaseType.ToUpper();
dbConnect.dataBaseName = dataBaseName;

dbConnection = dbConnect.DbConnection();
dbConnection.Open();
cmd = dbConnection.CreateCommand();
}

public void Close()
{
//鏈接關閉斷開。
cmd.Dispose();
dbConnection.Close();
dbConnection.Dispose();
}

public IDataReader GetData(string sqlString)
{
//數據查詢。返回一個DataReader值。
cmd.CommandText = sqlString;
dataReader = cmd.ExecuteReader();

return dataReader;
}

public int InsertData(string sqlString)
{
//數據插入。返回影響行數。
cmd.CommandText = sqlString;
return cmd.ExecuteNonQuery();
}

public int DeleteData(string sqlString)
{
//數據刪除。返回影響行數。
cmd.CommandText = sqlString;
return cmd.ExecuteNonQuery();
}

public int UpdateData(string sqlString)
{
//數據更新。返回影響行數。
cmd.CommandText = sqlString;
return cmd.ExecuteNonQuery();
}
}
}

==================================================

类文件建完成后便可用了!^o^
下面是简单的用法:

DataBaseTool dbTool = new DataBaseTool();   //实例化对像
dbTool.Open("SQL","sqlConnection");   //打开数据库
string sqlString = "SELECT * FROM administrator";   //定义SQL语句
DataGrid.DataSource = dbTool.GetData(sqlString);   //数据梆定到DataGrid中。
dgList.DataBind();
dbTool.Close();  //数据库关闭

====================================

在此类中还可以扩展很多东西,比如现在此类调用后只返回一个DataReader对像,还有很多没用到,比如DataTable等。

时间: 2024-05-11 11:12:39

数据库操作类(可用于任意数据库)的相关文章

php面象对象数据库操作类实例_php技巧

本文实例讲述了php面象对象数据库操作类.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: //此处构造一个数据库操作类,封装所有数据库操作 //可以扩展便于后台管理程序的使用 Class MySQLDB  {     var $host;     var $user;     var $passwd;     var $database;    var $conn;       //利用构造函数实现变量初始化     //同时连接数据库操作    function MySQLD

php面象对象数据库操作类

<?php //******************************************************************* //此处构造一个数据库操作类,封装所有数据库操作 //可以扩展便于后台管理程序的使用 Class MySQLDB  {     var $host;     var $user;     var $passwd;     var $database;    var $conn;     //利用构造函数实现变量初始化     //同时连接数据库操

PHP封装数据库操作类(链接数据库)

有面向对象技术基础的编程人员看一天就可以写起来了.而PHP在访问数据库的时候又经常会出现各种问题,如字符编码问题.SQL语法错误问题.PHP处理数据记录对象和返回对象的问题等.我这里写了一个数据库操作类,封装了数据库增删添改等操作,很方便使用.用这个类,可以加速网站的后台开发. 优点: 1.方便快捷, 数据库操作只需调用接口; 2.统一编码(utf8),不易导致乱码 3.结构清晰. 如处理前端请求的后台程序(test.php) + 表封装类(user.class.php) + 数据库封装类(db

php实现可用于mysql,mssql,pg数据库操作类_php技巧

本文实例讲述了可用mysql,mssql,pg三种数据库的数据库操作类,你只要作任何修改就可以方便的改变你数据库的类型.分享给大家供大家参考.具体分析如下: 函数清单,索引: Open:打开数据库连接 Line:71 Close:关闭数据库连接 Line:107 SelectDB:选择数据库 Line:129 Query:创建查询 Line:151 DataSeek:移动记录指针 Line:175 FieldName:获取字段名称 Line:198 FieldType:获取字段类型 Line:2

ASP通用数据库操作类源代码

<%'=========================================================================='文件名称:clsDbCtrl.asp'功 能:数据库操作类'作 者:coldstone (coldstone[在]qq.com)'程序版本:v1.0.5'完成时间:2005.09.23'修改时间:2007.10.30'版权声明:可以在任意作品中使用本程序代码,但请保留此版权信息.'          如果你修改了程序中的代码并得到更好的应用,

Access数据库操作类

Access数据库操作类AccessHelper using System;using System.Data;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.HtmlControl

简单快速有趣的MySQL数据库操作类:SimpleDB

mysql|数据|数据库 自己写着玩的,代码没有测试,不过觉得思路不错,如果能够加上部分异常处理的功能,应该比较帅了,支持PHP4/PHP5,恩,虽然没有ADOdb或者PEAR::DB强,不错一般应用应该不错,恩. 喜欢的就自己拿去用吧,自己随便改,呵呵,也欢迎提意见.(注释遵循PHPDoc的标准,便于生成手册)  注意:代码未经测试,出现问题可要自己负责哇,呵呵.         <?//==========================================// 文件: Simp

asp数据库操作类

<%'=========================================================================='文件名称:clsDbCtrl.asp'功 能:数据库操作类'作 者:coldstone (coldstone[在]qq.com)'程序版本:v1.0.5'完成时间:2005.09.23'修改时间:2007.10.30'版权声明:可以在任意作品中使用本程序代码,但请保留此版权信息.' 如果你修改了程序中的代码并得到更好的应用,请发送一份给我,谢

php pdo mysql数据库操作类

原文:php pdo mysql数据库操作类   findAll(array( 'field'=>'ID,albumName,albumImage, mainActor,directors,tags,info,area, keywords,wflag,year,mod_version,totalDuration', 'where'=>$where, 'order'=>'flag desc,hit_count desc', 'limit'=>"{$limit['offset