通过简单factory,把抽象类——数据库连接,实现为针对不同数据库(sqlserver、oracle等)的数据连接子类,并在子类实现对数据集的填充、执行各种sql语句的方法。
数据连接工厂类
using System;
using System.Data;
using System.Configuration;
public class dbFactory
{
public dbFactory() { }
public dbConnect CreatConnect(string contype, string connectstring)
{
if (contype == "oracle")
{
return new dbOracle(connectstring);
}
else if (contype == "sqlserver")
{
return new dbSqlserver(connectstring);
}
else
{
contype = "oracle";
return new dbOracle(connectstring);
}
}
}
数据连接抽象类
using System;
using System.Data;
using System.Configuration;
public abstract class dbConnect
{
public dbConnect() { }
public abstract string Connect();
public abstract string CheckConn();//数据连接检查
public abstract string FillDataset(string strsql, string TableName, DataSet DS);
//填充dataset
public abstract string DeleteBySql(string strsql);
//提交删除命令
public abstract string UpdateBySql(string strsql);//提交更新命令
public abstract string InsertBySql(string strsql);//提交插入命令
}
Oracle连接子类
using System;
using System.Data;
using System.Configuration;
using System.Data.OracleClient;
public class dbOracle : dbConnect
{
private OracleConnection MyConn;//全局数据连接
private string MyConnectString;//全局连接字符串
pub
数据连接工厂类
using System;
using System.Data;
using System.Configuration;
public class dbFactory
{
public dbFactory() { }
public dbConnect CreatConnect(string contype, string connectstring)
{
if (contype == "oracle")
{
return new dbOracle(connectstring);
}
else if (contype == "sqlserver")
{
return new dbSqlserver(connectstring);
}
else
{
contype = "oracle";
return new dbOracle(connectstring);
}
}
}
数据连接抽象类
using System;
using System.Data;
using System.Configuration;
public abstract class dbConnect
{
public dbConnect() { }
public abstract string Connect();
public abstract string CheckConn();//数据连接检查
public abstract string FillDataset(string strsql, string TableName, DataSet DS);
//填充dataset
public abstract string DeleteBySql(string strsql);
//提交删除命令
public abstract string UpdateBySql(string strsql);//提交更新命令
public abstract string InsertBySql(string strsql);//提交插入命令
}
Oracle连接子类
using System;
using System.Data;
using System.Configuration;
using System.Data.OracleClient;
public class dbOracle : dbConnect
{
private OracleConnection MyConn;//全局数据连接
private string MyConnectString;//全局连接字符串
pub

该博客介绍了如何使用C#实现简单工厂模式来创建针对不同数据库(如SQL Server、Oracle)的连接。通过抽象类dbConnect定义基本操作,包括数据连接、检查、填充数据集、执行SQL语句的删除、更新和插入方法。示例展示了Oracle连接子类的实现,调用过程则通过工厂类dbFactory完成。
最低0.47元/天 解锁文章
3493

被折叠的 条评论
为什么被折叠?



