程序人生

致力于MicroSoft Borland Sybase Oracle技术的研究

导航

【转贴】数据库操作类(可用于任意数据库)

这里我用一个例子做源码说明:
在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)
  {
   
//成員函數,网adpVjtJpFba'_|教

gj5的网YTT.
"%@
PT9网,LnUoMb软k育WHqZ业

hIo;f{o\jI

*zBM网zl国s中育t
er中;g
*W#教IcAD611业

e_dPvE_R]垠lhL网`无
參數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();  
//数据库关闭

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


posted on 2007-05-07 16:32  yoyo918  阅读(260)  评论(0)    收藏  举报