双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

今天下午写了一个基于数据集的通用数据库操作类,将数据库的操作抽象出来,散分^^

liuzewei liuzewei 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我是这个月才开始接触.NET和数据库的,以前一直用的是C++
所以眼界还比较狭窄,不知道这个类有没有硬伤
比如在概念上就存在严重问题什么的。

呵呵,请大家给点意见和评论,让我学点东西,谢谢。我会来结贴的。^_^


using System;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;

namespace Liuzewei
{
//
// 类名:基于数据集的数据库操作类(通用于 Access、SQL 数据库)
//
// 作者:刘泽围 2007年4月14日
//
// 版权:在中国软件业不存在版权,可以随意使用 ^_^
//
// 说明:
//
// 本类将对源数据库的 查询、修改、删除、新增、更新与绑定 操作抽象为统一的对
// 数据行引用的操作
//
// 而且本类是非静态的,所以使用时无须考虑多次不同数据库操作,彼此之间产生的影响
//
// 本类仅仅是对数据集类的一个简单包装,但鉴于以上两点,使用本类却可以大大减小
// 项目期的复杂度
//
// 示例:
//
// 以Access数据库为例,如果同时要操作多个不同类型的数据库,只要对应实例化即可
//
// 1、实例化对象,必须有主键
// DataBase dataBase( "SELECT [ip], [date], [id] FROM [sitestat]",
// "C:\SiteStat.mdb", false );
//
// 2、查询数据行
// DataRow[] dataRows = dataBase.Select( "id > 10" );
//
// 3、显示数据行,dataRows来自于查询数据行时返回的引用
// for ( int i=0; i< dataRows.Length; i++ )
// Response.Write( dataRows[i]["ip"].ToString() );
//
// 4、修改数据行并更新到源数据库,dataRows来自于查询数据行时返回的引用
// dataRows[2]["ip"] = "127.0.0.1";
// dataBase.Update();
//
// 5、删除数据行并更新到源数据库,dataRows来自于查询数据行时返回的引用
// for ( int i=0; i< dataRows.Length; i++ )
// dataRows[i].Delete();
// dataBase.Update();
//
// 6、插入新数据行并更新到源数据库
// DataRow[] newDataRows = dataBase.NewDataRows( 2 );
// newDataRows[0]["ip"] = "127.0.0.2";
// newDataRows[1]["ip"] = "127.0.0.3";
// dataBase.Update();
//
// 7、绑定,这里是与分页数据源进行绑定
// PagedDataSource pagedDataSource = new PagedDataSource();
// pagedDataSource.DataSource = dataBase.DefaultView;
//
public class DataBase
{
// 本类实例映射自给定源数据库的公用数据集
private DataSet dataSet;

// 源数据库与数据集之间的数据适配器
private bool isSqlDataBase;
private SqlDataAdapter sqlDataAdapter;
private SqlCommandBuilder sqlCommandBuilder;
private OleDbDataAdapter oleDbDataAdapter;
private OleDbCommandBuilder oleDbCommandBuilder;

//
// 在托管堆上分配内存实例化类本身以及 DataSet,DtaAdapter,CommandBuilder 对象
//
public DataBase( string selectCommandText, string dataBasePath, bool isSqlDataBase )
{
dataSet = new DataSet();

if ( isSqlDataBase )
{
sqlDataAdapter = new SqlDataAdapter( selectCommandText, dataBasePath );

sqlCommandBuilder = new SqlCommandBuilder( sqlDataAdapter );
sqlCommandBuilder.QuotePrefix = "[";
sqlCommandBuilder.QuoteSuffix = "]";

sqlDataAdapter.Fill( dataSet );
}
else
{
oleDbDataAdapter = new OleDbDataAdapter( selectCommandText,
"Provider=Microsoft.JET.OLEDB.4.0; Data Source = "+dataBasePath );

oleDbCommandBuilder = new OleDbCommandBuilder( oleDbDataAdapter );
oleDbCommandBuilder.QuotePrefix = "[";
oleDbCommandBuilder.QuoteSuffix = "]";

oleDbDataAdapter.Fill( dataSet );
}

this.isSqlDataBase = isSqlDataBase;
}

//
// 返回 DefaultView 用于调用者与本类实例公用数据集进行绑定
//
public DataView DefaultView
{
get { return dataSet.Tables[0].DefaultView; }
}

//
// 将本类实例公用数据集中数据更新到源数据库中
//
public void Update()
{
if ( isSqlDataBase )
sqlDataAdapter.Update( dataSet );
else
oleDbDataAdapter.Update( dataSet );

return;
}

//
// 从本类实例公用数据集中查询现有数据行
//
// 调用者可以对返回数据行引用进行显示、修改和删除操作
//
// 操作完毕调用 Updata() 将操作更新到源数据库中
//
public DataRow[] Select( string expression )
{
DataRow[] dataRows;
dataRows = dataSet.Tables[0].Select( expression );

return dataRows;
}

//
// 从本类实例公用数据集中开辟新数据行
//
// 调用者可以对返回数据行引用进行填充、修改和删除操作
//
// 操作完毕调用 Updata() 将操作更新到源数据库中
//
public DataRow[] NewDataRows( int lenth )
{
DataRow[] dataRows = new DataRow[lenth];

for ( int i = 0; i < lenth; i++ )
{
dataRows[i] = dataSet.Tables[0].NewRow();
dataSet.Tables[0].Rows.Add( dataRows[i] );
}

return dataRows;
}
}
}
...全文

相关推荐

北京理工大学软件工程操作系统大作业之一:在内存里的模拟文件系统(本人操作系统年级第一^^)(但是其实这个项目代码有点乱,

北京理工大学软件工程操作系统大作业之一:在内存里的模拟文件系统(本人操作系统年级第一^^)(但是其实这个项目代码有点乱,因为赶,想用设计模式也没用出名堂来,大家将就看8).zip

yyyyyyhhh222

a异或b异或c (2).pdf

。

「已注销」

高中物理 模块要点回眸 第2点 微观量估算中的两大要点素材 新人教版选修3-3(通用).doc

高中物理 模块要点回眸 第2点 微观量估算中的两大要点素材 新人教版选修3-3(通用).doc

艳艳点点

chapter7_asl_syntax_compile_flow_detailed.md

chapter7_asl_syntax_compile_flow_detailed.md

m0_65613950

基于混合储能协调控制的三相并网逆变系统设计【附说明文档】

内容概要:本文围绕“基于混合储能协调控制的三相并网逆变系统设计”展开,系统阐述了蓄电池与飞轮储能等混合储能系统在微电网中的协同控制策略。研究涵盖三相并网逆变器的能量管理、SOC(荷电状态)恒压恒流充放电控制、PQ控制与双闭环控制等核心技术,并基于Matlab/Simulink仿真平台实现了系统建模与动态仿真验证。文中深入探讨了飞轮储能系统的机侧PQ控制与网侧变流器的恒压双闭环控制,分析了微电网在调频调峰、功率协同分配等方面的运行特性,强调多能源间的协调优化与系统的快速动态响应能力,旨在提升微电网的运行稳定性、电能质量及能源利用效率。; 适合人群:具备电力电子、自动化或电气工程等相关专业背景,从事新能源发电、微电网控制、储能系统集成与优化等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入研究混合储能系统在微电网中的协调控制机制与能量管理策略;②掌握三相并网逆变器的建模、控制算法设计及Matlab/Simulink仿真方法;③实现储能系统的高效充放电管理与并网功率精确控制;④为学术论文撰写、科研课题申报、工程项目开发或实验复现提供完整的技术方案与参考实例。; 阅读建议:建议结合所提供的仿真模型、说明文档及参考文献,按照系统架构从单元控制到整体协调的顺序分模块学习,重点关注各控制策略的设计原理、参数整定方法与协同逻辑。推荐在Matlab环境中动手复现仿真,通过调整参数和工况来观察系统响应,以深化对理论知识的理解和工程应用能力的掌握。

梦想科研社_研学
评论 42
收藏 已收藏
分享
返回顶部
liuzewei
C# 111,129 成员 642,540 内容