分层开发应用(数据访问层 C#代码)
分层开发应用(简单工厂设计模式,数据访问层代码)
Code File A
using System;
using System.Data;
using System.Data.SqlClient;
namespace Test.DATA
{
/**//// <summary>
/// DataManage 的摘要说明。
/// </summary>
public class DemoSqlDB
{
private string strSQL;
//与SQL Server的连接字符串设置
//private string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("DataBase.mdb"); //data.mdb是你的数据库名称
private string connectionString = "user id=sa;password=sa;initial catalog=John;data source=127.0.0.1;Connect Timeout=30";
private SqlConnection myConnection;
private SqlCommandBuilder sqlCmdBld;
private SqlDataAdapter da;
private DataSet ds = new DataSet();
public DemoSqlDB()
{
}
public DemoSqlDB(string conStr)
{
connectionString = conStr;
}
/**///////创建了该类的实例时直接用
//根据输入的SQL DML检索数据库数据,返回填充了数据的DataSet
public DataSet SelectDataBase(string tempStrSQL, string tempTableName)
{
this.strSQL = tempStrSQL;
this.myConnection = new SqlConnection(connectionString);
this.da = new SqlDataAdapter(this.strSQL, this.myConnection);
this.ds.Clear();
this.da.Fill(ds, tempTableName);
return ds;
}
//更新(传DataSet和DataTable的对象),返回更新了的数据库表
public DataSet UpdateDataBase(DataSet changedDataSet, string tableName)
{
this.myConnection = new SqlConnection(connectionString);
this.da = new SqlDataAdapter(this.strSQL, this.myConnection);
this.sqlCmdBld = new SqlCommandBuilder(da);
this.da.Update(changedDataSet, tableName);
return changedDataSet;
}
/**/////////未创建该类的实例时直接用
//检索(传字符串SQL DML)
public DataTable SelectDataBase(string tempStrSQL)
{
this.myConnection = new SqlConnection(connectionString);
DataSet tempDataSet = new DataSet();
this.da = new SqlDataAdapter(tempStrSQL, this.myConnection);
this.da.Fill(tempDataSet);
return tempDataSet.Tables[0];
}
//更新(传字符串SQL DML),返回受影响的行数
public int UpdateDataBase(string tempStrSQL)
{
SqlConnection myConnection = new SqlConnection(connectionString);
SqlCommand myCommand = new SqlCommand(tempStrSQL);
myCommand.Connection = myConnection;
myConnection.Open();
int intNumber = myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
myConnection.Close();
return intNumber;
}
}
} Code File B
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace Test.DATA
{
/////////////////////////Base Class///////////////////////
/// <summary>
/// 简单工厂设计模式
/// </summary>
public abstract class DataExchange
{
public DemoSqlDB DemoSqlDB;
public abstract int AddBusiness(); //添加数据
public abstract int ChangeBusiness();//修改更新数据
public abstract DataSet GetBusiness();//查询数据
}
/////////////////////////Sub Class////////////////////////




}


浙公网安备 33010602011771号