[ASP.net(C#)]数据库操作类(可用于任意数据库)
2004-09-15 15:28
525 查看
前些日子无聊写的一个类,针对于不同的数据库来写的。
现在还是不能说是完整的,因为还有很多功能都没有写完全。同样,在下面的代码当中也只可用于SQL和OLE两种,对于Oracle、MySql等还没有支持。当然,这类的扩展功能对其它数据库的支持只要在文件中加入那么一句就可以用了!^o^
====================================================
这里我用一个例子做源码说明:
在Web.config里加入:
======================
---------------------------------------------------------
<appSettings>
<add key="sqlConnection" value="SERVER=(local);USER ID=sa;PWD=testPass;DATABASE=testdatabase;CONNECT TIMEOUT=5;" />
</appSettings>
--------------------------------------------------------
下面是DataBaseConnect.cs类文件:
=======================
---------------------------------------------------------------
using System;
using System.Data;
using System.Configuration;
namespace Test
{
///
/// DataBaseConnect 的摘要描述。
///
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
{
///
/// DataBaseTool 的摘要描述。
///
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等。
现在还是不能说是完整的,因为还有很多功能都没有写完全。同样,在下面的代码当中也只可用于SQL和OLE两种,对于Oracle、MySql等还没有支持。当然,这类的扩展功能对其它数据库的支持只要在文件中加入那么一句就可以用了!^o^
====================================================
这里我用一个例子做源码说明:
在Web.config里加入:
======================
---------------------------------------------------------
<appSettings>
<add key="sqlConnection" value="SERVER=(local);USER ID=sa;PWD=testPass;DATABASE=testdatabase;CONNECT TIMEOUT=5;" />
</appSettings>
--------------------------------------------------------
下面是DataBaseConnect.cs类文件:
=======================
---------------------------------------------------------------
using System;
using System.Data;
using System.Configuration;
namespace Test
{
///
/// DataBaseConnect 的摘要描述。
///
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
{
///
/// DataBaseTool 的摘要描述。
///
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等。
相关文章推荐
- Asp.net(c#)数据库操作类
- Asp.net(c#)数据库操作类
- asp.net数据库操作类(C#)
- Asp.net(c#)数据库操作类
- [ASP.net(C#)]自定义数据库操作类(一)
- Asp.net(c#)数据库操作类
- Asp.net(c#)数据库操作类
- Asp.net(c#)数据库操作类
- asp.net(C#) 数据库操作类
- Asp.net(c#)数据库操作类
- 用C#写的ASP.NET数据库操作类知识
- Asp.net技巧:数据库操作类(C#)
- ASP.NET (C#版)如何将文件上传至数据库(源代码)
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- 用ASP.NET和C#连接数据库的几种方法
- asp.net ,c# 保存图片入数据库
- C#与mysql做ASP.NET网页数据库查询速度测试
- C# asp.net 导出数据库二进制字段到excel
- asp.net(c#) DataTable 快速导入数据库
- asp.net C# DataList绑定数据库