中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > Asp > 综合文章
[ASP.net(C#)]数据库操作类(可用于任意数据库)
作者:未知 时间:2004-09-15 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无

前些日子无聊写的一个类,针对于不同的数据库来写的。
现在还是不能说是完整的,因为还有很多功能都没有写完全。同样,在下面的代码当中也只可用于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等。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有