自己的一个数据库操作类
来源:互联网 发布:软件怎么看源码 编辑:程序博客网 时间:2024/05/21 08:36
该数据据操作类采用工厂模式,其中ADODB.cs为工厂方法
ADODB.cs
using System;
using System.Data;
using Base.Enums;
using System.Configuration;
namespace Base.DBHelper
...{
/**//// <summary>
/// ADODB 的摘要说明。
/// </summary>
public class ADODB:IDBHelper
...{
private string ConnectString=ConfigurationSettings.AppSettings["ConnectionString"];
private DBType dbType=(Enums.DBType)(int.Parse(ConfigurationSettings.AppSettings["DBType"]));
private IDBHelper obj=null;
public ADODB()
...{
switch(dbType)
...{
case DBType.SqlDB:
obj=new SqlServer();
break;
case DBType.OleDB:
obj=new OleDb();
break;
case DBType.OracleDB:
obj=new Oracle();
break;
default:
obj=new SqlServer();
break;
}
}
IDBHelper 成员#region IDBHelper 成员
public System.Data.IDbConnection getConnection()
...{
IDbConnection con=obj.getConnection();
con.ConnectionString=this.ConnectString;
return con;
}
public System.Data.IDbCommand getCommand()
...{
return obj.getCommand();
}
public System.Data.IDbDataAdapter getDataAdapter()
...{
return obj.getDataAdapter();
}
public System.Data.IDbDataParameter getParameter()
...{
return obj.getParameter();
}
#endregion
}
}
using System.Data;
using Base.Enums;
using System.Configuration;
namespace Base.DBHelper
...{
/**//// <summary>
/// ADODB 的摘要说明。
/// </summary>
public class ADODB:IDBHelper
...{
private string ConnectString=ConfigurationSettings.AppSettings["ConnectionString"];
private DBType dbType=(Enums.DBType)(int.Parse(ConfigurationSettings.AppSettings["DBType"]));
private IDBHelper obj=null;
public ADODB()
...{
switch(dbType)
...{
case DBType.SqlDB:
obj=new SqlServer();
break;
case DBType.OleDB:
obj=new OleDb();
break;
case DBType.OracleDB:
obj=new Oracle();
break;
default:
obj=new SqlServer();
break;
}
}
IDBHelper 成员#region IDBHelper 成员
public System.Data.IDbConnection getConnection()
...{
IDbConnection con=obj.getConnection();
con.ConnectionString=this.ConnectString;
return con;
}
public System.Data.IDbCommand getCommand()
...{
return obj.getCommand();
}
public System.Data.IDbDataAdapter getDataAdapter()
...{
return obj.getDataAdapter();
}
public System.Data.IDbDataParameter getParameter()
...{
return obj.getParameter();
}
#endregion
}
}
DBHelper.cs
using System;
using System.Collections;
using System.Data;
namespace Base.Data
...{
/**//// <summary>
/// ADOHelper 的摘要说明。
/// </summary>
public class DBHelper
...{
public DBHelper()
...{
}
private static CommandType getCommandType(bool IsProc)
...{
if(IsProc)
return CommandType.StoredProcedure;
else
return CommandType.Text;
}
private static IDbCommand makeCommand(ADODB ado,string sql,bool IsProc,Hashtable paras)
...{
IDbCommand cmd=ado.getCommand();
cmd.CommandText=sql;
cmd.CommandType=getCommandType(IsProc);
if(paras!=null)
...{
foreach(DictionaryEntry para in paras)
...{
IDbDataParameter p=ado.getParameter();
p.ParameterName=para.Key.ToString();
p.Value=para.Value;
cmd.Parameters.Add(p);
}
}
return cmd;
}
public static int ExecuteNonQuery(string sql,bool IsProc)
...{
return ExecuteNonQuery(sql,IsProc,null);
}
public static int ExecuteNonQuery(string sql,bool IsProc,Hashtable paras)
...{
ADODB ado=new ADODB();
IDbConnection con=ado.getConnection();
IDbCommand cmd=makeCommand(ado,sql,IsProc,paras);
cmd.Connection=con;
try
...{
con.Open();
int count=cmd.ExecuteNonQuery();
return count;
}
catch(Exception ex)
...{
throw ex;
}
finally
...{
if(con.State!=ConnectionState.Closed)con.Close();
}
}
public static DataSet ExecuteDataSet(string sql,bool IsProc)
...{
return ExecuteDataSet(sql,IsProc,null);
}
public static DataSet ExecuteDataSet(string sql,bool IsProc,Hashtable paras)
...{
ADODB ado=new ADODB();
IDbConnection con=ado.getConnection();
try
...{
IDbCommand cmd=makeCommand(ado,sql,IsProc,paras);
cmd.Connection=con;
IDbDataAdapter da=ado.getDataAdapter();
da.SelectCommand=cmd;
DataSet ds=new DataSet();
da.Fill(ds);
return ds;
}
catch(Exception ex)
...{
throw ex;
}
finally
...{
if(con.State!=ConnectionState.Closed)con.Close();
}
}
public static DataTable ExecuteDataTable(string sql,bool IsProc)
...{
return ExecuteDataTable(sql,IsProc,null);
}
public static DataTable ExecuteDataTable(string sql,bool IsProc,Hashtable paras)
...{
return ExecuteDataSet(sql,IsProc,paras).Tables[0];
}
public static DataRow ExecuteDataRow(string sql,bool IsProc,Hashtable paras)
...{
return ExecuteDataTable(sql,IsProc,paras).Rows[0];
}
public static DataRow ExecuteDataRow(string sql,bool IsProc)
...{
return ExecuteDataTable(sql,IsProc).Rows[0];
}
public static object ExecuteValue(string sql,bool IsProc,Hashtable paras)
...{
return ExecuteDataRow(sql,IsProc,paras)[0];
}
public static object ExecuteValue(string sql,bool IsProc)
...{
return ExecuteDataRow(sql,IsProc)[0];
}
public static bool IsExist(string sql,bool IsProc)
...{
if(ExecuteDataTable(sql,IsProc).Rows.Count>0)
return true;
else
return false;
}
public static bool IsExist(string sql,bool IsProc,Hashtable paras)
...{
if(ExecuteDataTable(sql,IsProc,paras).Rows.Count>0)
return true;
else
return false;
}
}
}
using System.Collections;
using System.Data;
namespace Base.Data
...{
/**//// <summary>
/// ADOHelper 的摘要说明。
/// </summary>
public class DBHelper
...{
public DBHelper()
...{
}
private static CommandType getCommandType(bool IsProc)
...{
if(IsProc)
return CommandType.StoredProcedure;
else
return CommandType.Text;
}
private static IDbCommand makeCommand(ADODB ado,string sql,bool IsProc,Hashtable paras)
...{
IDbCommand cmd=ado.getCommand();
cmd.CommandText=sql;
cmd.CommandType=getCommandType(IsProc);
if(paras!=null)
...{
foreach(DictionaryEntry para in paras)
...{
IDbDataParameter p=ado.getParameter();
p.ParameterName=para.Key.ToString();
p.Value=para.Value;
cmd.Parameters.Add(p);
}
}
return cmd;
}
public static int ExecuteNonQuery(string sql,bool IsProc)
...{
return ExecuteNonQuery(sql,IsProc,null);
}
public static int ExecuteNonQuery(string sql,bool IsProc,Hashtable paras)
...{
ADODB ado=new ADODB();
IDbConnection con=ado.getConnection();
IDbCommand cmd=makeCommand(ado,sql,IsProc,paras);
cmd.Connection=con;
try
...{
con.Open();
int count=cmd.ExecuteNonQuery();
return count;
}
catch(Exception ex)
...{
throw ex;
}
finally
...{
if(con.State!=ConnectionState.Closed)con.Close();
}
}
public static DataSet ExecuteDataSet(string sql,bool IsProc)
...{
return ExecuteDataSet(sql,IsProc,null);
}
public static DataSet ExecuteDataSet(string sql,bool IsProc,Hashtable paras)
...{
ADODB ado=new ADODB();
IDbConnection con=ado.getConnection();
try
...{
IDbCommand cmd=makeCommand(ado,sql,IsProc,paras);
cmd.Connection=con;
IDbDataAdapter da=ado.getDataAdapter();
da.SelectCommand=cmd;
DataSet ds=new DataSet();
da.Fill(ds);
return ds;
}
catch(Exception ex)
...{
throw ex;
}
finally
...{
if(con.State!=ConnectionState.Closed)con.Close();
}
}
public static DataTable ExecuteDataTable(string sql,bool IsProc)
...{
return ExecuteDataTable(sql,IsProc,null);
}
public static DataTable ExecuteDataTable(string sql,bool IsProc,Hashtable paras)
...{
return ExecuteDataSet(sql,IsProc,paras).Tables[0];
}
public static DataRow ExecuteDataRow(string sql,bool IsProc,Hashtable paras)
...{
return ExecuteDataTable(sql,IsProc,paras).Rows[0];
}
public static DataRow ExecuteDataRow(string sql,bool IsProc)
...{
return ExecuteDataTable(sql,IsProc).Rows[0];
}
public static object ExecuteValue(string sql,bool IsProc,Hashtable paras)
...{
return ExecuteDataRow(sql,IsProc,paras)[0];
}
public static object ExecuteValue(string sql,bool IsProc)
...{
return ExecuteDataRow(sql,IsProc)[0];
}
public static bool IsExist(string sql,bool IsProc)
...{
if(ExecuteDataTable(sql,IsProc).Rows.Count>0)
return true;
else
return false;
}
public static bool IsExist(string sql,bool IsProc,Hashtable paras)
...{
if(ExecuteDataTable(sql,IsProc,paras).Rows.Count>0)
return true;
else
return false;
}
}
}
IDBHelper.cs
using System;
using System.Data;
namespace Base.DBHelper
...{
/**//// <summary>
/// DBHelperInterface 的摘要说明。
/// </summary>
public interface IDBHelper
...{
IDbConnection getConnection();
IDbCommand getCommand();
IDbDataAdapter getDataAdapter();
IDbDataParameter getParameter();
}
}
using System.Data;
namespace Base.DBHelper
...{
/**//// <summary>
/// DBHelperInterface 的摘要说明。
/// </summary>
public interface IDBHelper
...{
IDbConnection getConnection();
IDbCommand getCommand();
IDbDataAdapter getDataAdapter();
IDbDataParameter getParameter();
}
}
OleDb.cs
using System;
using System.Data;
namespace Base.DBHelper
...{
/**//// <summary>
/// DBHelperInterface 的摘要说明。
/// </summary>
public interface IDBHelper
...{
IDbConnection getConnection();
IDbCommand getCommand();
IDbDataAdapter getDataAdapter();
IDbDataParameter getParameter();
}
}
using System.Data;
namespace Base.DBHelper
...{
/**//// <summary>
/// DBHelperInterface 的摘要说明。
/// </summary>
public interface IDBHelper
...{
IDbConnection getConnection();
IDbCommand getCommand();
IDbDataAdapter getDataAdapter();
IDbDataParameter getParameter();
}
}
SqlServer.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace Base.DBHelper
...{
/**//// <summary>
/// SqlServer 的摘要说明。
/// </summary>
public class SqlServer:IDBHelper
...{
public IDbConnection getConnection()
...{
return new SqlConnection();
}
public IDbCommand getCommand()
...{
return new SqlCommand();
}
public IDbDataAdapter getDataAdapter()
...{
return new SqlDataAdapter();
}
public IDbDataParameter getParameter()
...{
return new SqlParameter();
}
}
}
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace Base.DBHelper
...{
/**//// <summary>
/// SqlServer 的摘要说明。
/// </summary>
public class SqlServer:IDBHelper
...{
public IDbConnection getConnection()
...{
return new SqlConnection();
}
public IDbCommand getCommand()
...{
return new SqlCommand();
}
public IDbDataAdapter getDataAdapter()
...{
return new SqlDataAdapter();
}
public IDbDataParameter getParameter()
...{
return new SqlParameter();
}
}
}
- 自己的一个数据库操作类
- 我自己写的一个操作数据库的类
- 自己写的一个数据库操作类(C#)[原创]
- 给大家一个数据库操作类。应该来说很全了。我自己用的。
- 封装一个自己的php操作类
- 自己写的一个 ini 操作类
- 一个数据库操作的类
- 写一个自己的数据库帮助类
- 做一个自己的数据库
- 自己封装了一个操作数据库的工具类以及通过资源文件获取数据库连接的类
- 自己写的一个使用ADO操作ACCESS数据库的例子
- java 自己写的一个自动分析对象的mysql数据库操作工具
- 一个数据库操作类
- 一个数据库操作类
- 操作数据库的一个简单类
- 一个简单的数据库操作类
- 一个基本的数据库操作类``
- 一个操作EDB数据库的类
- 日本都有什么样的节日?
- 最近发现的几个好网站
- 教育部开通24小时热线电话了
- IDC发布报告称:EMC占据内容管理软件头把交椅
- Apache与Tomcat安装配置手册
- 自己的一个数据库操作类
- 查看和更改MAC地址
- JAVA技术图谱
- XPath的语法
- 应用框架的设计与实现——.NET平台(2)
- Struts常见异常信息和解决方法
- [Struts]处理表单中值为空的日期类型字段
- 第一篇帖子
- jsp中文问题解决方案(完整版)