自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 数据库组件 Hxj.Data (三十一)(MySQL篇)

组件V1.7版本增加对MySQL的支持(测试了MySQL 5.1版本)。 下面来演示如何使用。 首先添加Connectionstring  public static DbSession MySqlTest = new DbSession("MySQLConnectionString"); 在test数据库中新建了一张表mtable,字段只有两个:mid int 自增长,mname varchar(50)  然后使用实体生成工具生成实体。 

2010-06-22 08:46:00 398

原创 数据库组件 Hxj.Data (三十)(Asp.Net 页面自动赋值与取值)

在项目中的页面中经常会遇到界面的赋值与取值,特别是页面中项特别多的时候,取值和赋值往往是体力活。 在组件中添加了一个简单的辅助,取值通过Request.From[“”]来实现,赋值则document.getElementById(“”).value来实现。 下面我们来看示例代码: 例子是:Northwind数据库的Products表 页面代码: ProductName: SupplierID: CategoryID: QuantityPerUnit:

2010-06-22 08:44:00 432

原创 数据库组件 Hxj.Data (二十九)(DbSession的推荐写法)

在系列文章中的示例都是DbSession.Default做为操作数据的入口。 Default是读取config文件中connectionStrings节点的最后一个节点的配置。 在实际项目中还是推荐创建一个DbSession。 可以如下写法: public class Db{ public readonly static DbSession Northwind = new DbSession("NorthwindConnectionString"); static Db(

2010-06-22 08:43:00 502

原创 数据库组件 Hxj.Data (二十八)(事务中的查询,查询字段字中的子查询,WhereClip的隐式转换)

本节讲述新版本中新加的功能,以及如何使用。   事务中的查询 应用场景,有时我们需要事务更新、添加、删除表的操作,在提交事务又需要对这些进行查询(不想降低事务级别让其他连接查询事务中的数据变动),在事务内部进行的查询。 其实只是在DbTrans中增加了FromSection方法。 示例代码如下: using (DbTrans trans = DbSession.Default.BeginTransaction()){ //修改了第一条记录

2010-06-22 08:42:00 360

原创 数据库组件 Hxj.Data (二十七)(字段组合更新)

Hxj.Data V1.5.1版本开始支持字段组合更新。 例如:update table set a=b+c         update table set a=a+1 (+、-、*、/、%)依次类推。   下面将举具体的例子。(例子只是为了测试效果,没有实际意义) 例一、 DbSession.Default.Update(Products._.UnitPrice, Products._.ReorderLevel + Products._.UnitPrice, Products._.Pro

2010-06-22 08:41:00 324

原创 数据库组件 Hxj.Data (二十六)(Oracle 配置)

Oracle配置在connectionStrings节点的providerName为System.Data.OracleClient或者Hxj.Data.Oracle之外,其他操作使用并没有什么不同。 不过相对于Oracle的自增长列有所不同,要做适当的处理。 Oracle是通过Sequence来获取增长的值,不同于Sql Server可以方便的设置列的自增长。   在这里通过修改生成的实体就可以完成自增长列的设置。 例如: 建了一个Sequence,名为:mysequence 表中需要自增的

2010-06-20 23:09:00 329

原创 数据库组件 Hxj.Data (二十五)(数据库连接配置 - connectionStrings节点)

本节补充讲述connectionStrings的设置。 要谢谢永远的阿哲的提醒。   组件读取connectionStrings节点的配置的时候会根据providerName来判断是哪个数据库。   数据库 providerName Sql server 2000 1、System.Data.SqlClient 2、Hxj.Data.SqlServer Sql s

2010-06-18 09:37:00 352

原创 数据库组件 Hxj.Data (二十四)(Sqlite数据库)

Hxj.Data(V1.3)组件增加了对Sqlite数据库的支持。下载最新版本   以及实体生成工具也同时发布(V1.3)版本支持Sqlite数据库的实体生成。   使用Sqlite数据库开发,需要引用Hxj.Data、Hxj.Data.Sqlite、System.Data.SQLite这三个DLL。   config配置数据库连接例如:   示例代码: DbSession session = new Hxj.Data.DbSession("SqliteConnectionString

2010-06-15 13:59:00 332

原创 数据库组件 Hxj.Data (二十三) (自定义缓存)

配置的缓存并不能满足我们的需求,例如有时候需要刷新缓存,或者某次查询缓存时间或者缓存依赖不一样等。   刷新缓存 例如: DbSession.Default.From().Where(Products._.ProductID == 1).Refresh().ToFirst();Refresh()方法设置了刷新缓存,即不从缓存中读取,直接从数据库读取最新数据,并重新缓存。 设置查询的缓存有效期。例如:DbSession.Default.From().Where(

2010-06-13 22:21:00 280

原创 数据库组件 Hxj.Data (二十二) (缓存)

首先我是做web开发的,所以很多会偏向web的,组件使用的缓存是System.Web.HttpRuntime.Cache。   组件在默认情况下是关闭缓存的。 所以要开启缓存查询要做一下配置。 先看一下例子配置:  HxjCacheConfig 节点的 enable 表示是否开启缓存,默认是关闭状态,除非显式开启 enable="true"。 entities 节

2010-06-12 09:21:00 403

原创 数据库组件 Hxj.Data (二十一) (ToScalar)

经过周末的通宵,发布了组件1.0版本。 对组件进行了扩展,最大的修改就是增加缓存查询,以获得更好的性能。   本节先讲一些小的扩展修改。   之前版本ToScalar()只是返回object。 现在增加了ToScalar()方法,组件自动转换类型。 例如: DbSession.Default.From().Select(Products._.ProductID).Top(1).ToScalar();这样就返回类型为int类型,免去转换的代码。当查询出来的值为null 或者

2010-06-10 13:30:00 384

原创 数据库组件 Hxj.Data (二十) (分页)

分页在前面好几节中的列子中已经出现,现在在详细讲解一下。 有三种方法去实现: 1、Top(int topCount) 方法 在sqlserver和msaccess中其实就是top , 在oracle通过rownum实现。   2、From(int startIndex, int endIndex) 从startIndex条到endIndex条之间的记录数。   3、Page(int pageSize, int pageIndex) 每页pageSize条,第pageIndex页   下

2010-06-03 22:02:00 313

原创 数据库组件 Hxj.Data (十九) (事务二)

对事务有进行了更新,又得去下载一下新版本,对上一版本兼容,扩充了DbTrans方法。   相比十七节(事务)中的事务写法简洁了一些。如下 using (DbTrans trans = DbSession.Default.BeginTransaction()){ trans.Update(Products._.ProductName, "apple", Products._.ProductID == 1); trans.Update(Products._.ProductName,

2010-06-02 20:32:00 318

原创 数据库组件 Hxj.Data (十八) (批处理)

批处理就是提交的脚本不是马上执行,而是到一定数量才提交。还是先上例子using (DbBatch batch = DbSession.Default.BeginBatchConnection()){ batch.Update(Products._.ProductName, "apple", Products._.ProductID == 1); batch.Update(Products._.ProductName, "pear", Products.

2010-06-01 20:10:00 322

原创 数据库组件 Hxj.Data (十七) (事务)

首先对事务进行了升级,所以又要重新去下载一下新版本。   组件提供了简单的事务,并没有过多的封装。 先上个例子: using (DbTrans trans = DbSession.Default.BeginTransaction()){ DbSession.Default.UpdateProducts>(Products._.ProductName, "apple", Pro

2010-05-28 08:44:00 269

原创 数据库组件 Hxj.Data (十六) (查询的字段)

在查询没有设置查询字段,组件默认是返回所有字段信息,即select * from table 那在查询中如何设置需要返回的字段信息呢? 在之前几节中的例子已经存在设置查询字段,是通过 select方法来设置的。 先上例子: DbSession.Default.FromProducts>() .Select(Products._.ProductID, Pr

2010-05-26 08:13:00 354

原创 数据库组件 Hxj.Data (十五) (查询的排序、分组)

本节将讲述查询的排序(order by) 和 分组(group by)。   先说排序 在分页中如果没有指定排序,组件会默认一个排序来实现分页。 例如 DbSession.Default.FromProducts>() .Page(10, 2) .Where(Products._.CategoryID.SelectIn(

2010-05-23 14:06:00 377

原创 google logo上的小游戏

刚在使用搜索的时候,就发现google的logo不寻常,结果还可以玩游戏,使用方向键控制或者鼠标也行。       查询了一下: 据国外媒体报道,为了纪念吃豆人(Pac-Man)游戏诞生30周年,Google公司特地在其首页Logo中整合了这款游戏。 用户登录Google首页后会发现,经典的“手气不错”搜索选项也变成了“Insert Coin”(投入钱币)。点击“Insert C

2010-05-23 00:38:00 663 1

原创 数据库组件 Hxj.Data (十四) (联合查询)

联合查询在前面的例子中已经出现过,只不过没有细说。 先来个例子吧 DbSession.Default.FromCustomers>() .InnerJoinOrders>(Customers._.CustomerID == Orders._.CustomerID) .ToDataTable();生成的sql

2010-05-22 20:59:00 464

原创 数据库组件 Hxj.Data (十三) (子查询)

查询条件的值来自另外一次查询。 例如  sqlserver sql:   select * from products where categoryid=(select top 1 categoryid from categories where categoryname=’produce’) 这条sql的实现代码如下: DbSession.Default.FromProducts>()

2010-05-21 00:43:00 304

原创 数据库组件 Hxj.Data (十二) (模糊查询、简单的in,not in查询)

条件的生成都是通过对表中字段进行的。 比如: Products._.UnitPrice > 1Products._.CategoryID == 2这些是简单的比较。 下面来介绍通过like 模糊查询该怎么做。先上代码,Products._.ProductName.Contain("apple")这句等效sql就是(sqlserve

2010-05-20 13:46:00 354

原创 数据库组件 Hxj.Data (十一) (where条件)

在前几节的例子中都生成where之后的条件,例如: Products._.CategoryID == 2代码中这些就是生成条件,对应sql就是 categoryid=2 归根到底这句代码返回回来的是一个WhereClip. WhereClip where = WhereClip.All;这个是一个空值,也就是无条件。不会

2010-05-19 13:41:00 344

原创 数据库组件 Hxj.Data (十) (输出组件执行的sql)

前面有TX留言问分页的sql是怎么样的,看完这篇你也就知道了。 组件可以输出执行的sql,方便查看sql生成的语句是否有问题。 通过注册事件来输出sql DbSession.Default.RegisterSqlLogger(database_OnLog);  private string sql;void database_OnLog(string log

2010-05-17 14:19:00 287

原创 数据库组件 Hxj.Data (九) (DbSession的其他介绍)

本节将讲述DbSession的其他简单辅助方法。 SUM方法 DbSession.Default.Sum(Products._.UnitPrice, Products._.CategoryID == 2); 返回categroyid=2的unitprice合计。  AVG方法 DbSession.Default.Avg(Produ

2010-05-16 13:42:00 366

原创 数据库组件 Hxj.Data (八)(存储过程篇)

上一节讲述的sql语句的执行,本节将讲述的是存储过程的执行。 执行存储过程是通过FromProc方法来完成的。 执行无参数存储过程如下: DbSession.Default.FromProc("Ten Most Expensive Products").ToDataTable();"Ten Most Expensive Products"就是存储过程名称。 

2010-05-15 15:09:00 307

原创 数据库组件 Hxj.Data(七) (sql篇)

上一节讲述的是删除操作,本节将讲述如何直接执行sql语句。 直接执行sql语句是使用FromSql方法。 DbSession.Default.FromSql("select * from products").ToDataTable(); 这样看起来亲切多了吧,直接sql就可以执行。 当然也可添加参数的啊。 DbSession.Defau

2010-05-15 02:37:00 391

原创 数据库组件 Hxj.Data (六)(删除操作篇)

上节讲述数据库更新操作,本节将讲述删除操作。   上代码: //删除 条件 ProductID=2 int returnvalue = DbSession.Default.Delete(Products._.ProductID == 2);Delete很简单,只要加了条件就可以了。 与之等效的还有如下操作:  int returnva

2010-05-14 12:34:00 265

原创 数据库组件 Hxj.Data (五)(更新操作篇)

上节讲完添加操作,这节将讲述更新操作,Update的使用。   先来例子: //获取Products表第一行Products p = DbSession.Default.From().ToFirst();//开启修改 (修改操作之前 必须执行此方法)p.Attach();p.ProductName = "apple";//获取修改记录//List list= p.GetModify

2010-05-13 17:16:00 337

原创 数据库组件 Hxj.Data (四)(添加操作篇)

上一节讲述如何使用查询。这节将讲添加数据操作即Insert方法的使用. 先上例子(使用asp.net) 这个是页面html代码: "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"http://www.w3.org/1999/xhtml"

2010-05-12 23:18:00 336

原创 数据库组件 Hxj.Data (三)(查询操作篇)

Hxj.Data使用入口在Hxj.Data.DbSession,DbSession类封装常用的操作,比如:From,Insert,Update,Delete等常用方法。 DbSession.Default是一个默认的DbSession。在默认情况下会自动读取web.config/app.config配置文件中connectionStrings节点的最后一个配置。 可以通过条用DbSessio

2010-05-10 10:39:00 359

原创 数据库组件 Hxj.Data (二)(实体生成工具)

实体生成工具的界面如下图: 目前工具支持MsAccess,Sql Server, Sqlite, Oracle数据库的实体生成。   下面单个实体生成演示, Northwind数据库的Customers表   也可以批量生成数据库所有表的实体。如下图 实体的生成很简单。 下面章节将讲述Hxj.Data的具体使用。

2010-05-07 09:16:00 372

原创 数据库组件 Hxj.Data (一)(介绍篇)

      Hxj.Data经过几个月的开发,终于发布了一个版本,并同时发布实体生成工具。在开发过程参考了多个ORM框架,特别是NBear,MySoft等。吸取了他们的一些精华,加入自己的新思想。       目前支持Sql2000/2005,MsAccess,Oracle,SQLite,MySQL,如有需要可再扩展。       数据库实体生成的代码Northwind数据库中Products

2010-05-06 19:47:00 483

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除