2010年4月20日
摘要: 这次的js脚本来源于 崔永祥 编写的通用不间断滚动JS封装类。 还是先上效果: html代码如下: 构造函数: 这里就不一一介绍啦,选几个吧。Direction设计时属性对话框中如下:变为可选择的项,是通过[TypeConverter(typeof(DirectionType))] 来实现的.DirectionType是一个枚举:ClientInstanceName是生成脚本的构造出来的Mar... 阅读全文
posted @ 2010-04-20 12:47 steven hu 阅读(3748) 评论(13) 推荐(1) 编辑
  2010年4月17日
摘要: 这个控件就是对 cloudgamer 的 仿163网盘无刷新多文件上传系统 封装,使我们使用更加简单方便。 先来看效果: html的代码简单,设计时如下: 在设计时状态下并不好看,因为没有加载样式。预览效果: 预览后加载了样式效果好看多了。配合后台代码:文件很轻松就上传。这里取消了原来无刷新上传功能。下面讲述如何封装成Asp.Net Web控件。首先建立一个类继承Control在这个控件中有两... 阅读全文
posted @ 2010-04-17 18:20 steven hu 阅读(7589) 评论(21) 推荐(5) 编辑
  2010年4月8日
摘要: Hxj.Data V1.5.1版本开始支持字段组合更新。 例如:update table set a=b+c update table set a=a+1 (+、-、*、/、%)依次类推。 下面将举具体的例子。(例子只是为了测试效果,没有实际意义) 例一、 就是将UnitPrice字段的值更新为UnitPrice加上ReorderLevel字段的值。例二、 这里就是将UnitPrice字段的值... 阅读全文
posted @ 2010-04-08 23:00 steven hu 阅读(2940) 评论(8) 推荐(2) 编辑
摘要: Oracle配置在connectionStrings节点的providerName为System.Data.OracleClient或者Hxj.Data.Oracle之外,其他操作使用并没有什么不同。 不过相对于Oracle的自增长列有所不同,要做适当的处理。 Oracle是通过Sequence来获取增长的值,不同于Sql Server可以方便的设置列的自增长。 在这里通过修改生成的实体就可以... 阅读全文
posted @ 2010-04-08 12:31 steven hu 阅读(2479) 评论(4) 推荐(2) 编辑
  2010年4月5日
摘要: 本节补充讲述connectionStrings的设置。 要谢谢永远的阿哲的提醒。 组件读取connectionStrings节点的配置的时候会根据providerName来判断是哪个数据库。 数据库 providerName Sql server 2000 1、System.Data.SqlClient 2、Hxj.Data.SqlServer Sql server 2005 Hxj.Data.S... 阅读全文
posted @ 2010-04-05 17:00 steven hu 阅读(2447) 评论(3) 推荐(1) 编辑
  2010年3月21日
摘要: Hxj.Data(V1.3)组件增加了对Sqlite数据库的支持。下载最新版本 以及实体生成工具也同时发布(V1.3)版本支持Sqlite数据库的实体生成。 使用Sqlite数据库开发,需要引用Hxj.Data、Hxj.Data.Sqlite、System.Data.SQLite这三个DLL。 config配置数据库连接例如: <add name="SqliteConnectionSt... 阅读全文
posted @ 2010-03-21 00:30 steven hu 阅读(3438) 评论(8) 推荐(1) 编辑
  2010年3月4日
摘要: 在.net2.0 的版本中的 System.Globalization.ChineseLunisolarCalendar 是针对中国的日历类,公历与中国传统农历纪年之间的相互转换,利用它可以计算天干地支等有关农历的信息。 使用测试的结果:传入日期:2010-3-4返回农历:庚寅[虎]年正月十九可以满足简单的需求啦。其他代码也附上:还有一个根据日期获取生肖的代码:一切都变的简单了。 阅读全文
posted @ 2010-03-04 12:15 steven hu 阅读(9716) 评论(12) 推荐(4) 编辑
  2010年2月20日
摘要: 【Hxj.Data v.1.8.0 已开源并正式更名为Dos.ORM,与Dos.WorkFlow、Dos.WeChat等形成产品线,项目新首页:http://ITdos.com/Dos/ORM/Index.html】Hxj.Data数据库组件旨在方便快速开发而努力,目前支持MSAccess,Sql ... 阅读全文
posted @ 2010-02-20 10:24 steven hu 阅读(31628) 评论(45) 推荐(11) 编辑
摘要: Hxj.Data需要一个稳定的版本,希望大家多帮忙。Hxj.Data 组件在使用过程遇到的问题或者发现bug请发到这边来,我会及时来回复解答以及修正bug的。组件的更新及日志 阅读全文
posted @ 2010-02-20 10:05 steven hu 阅读(3143) 评论(85) 推荐(3) 编辑
  2010年2月9日
摘要: 配置的缓存并不能满足我们的需求,例如有时候需要刷新缓存,或者某次查询缓存时间或者缓存依赖不一样等。 刷新缓存 例如: DbSession.Default.From<Products>().Where(Products._.ProductID == 1).Refresh().ToFirst();Refresh()方法设置了刷新缓存,即不从缓存中读取,直接从数据库读取最新数据,并重新缓... 阅读全文
posted @ 2010-02-09 09:36 steven hu 阅读(3994) 评论(21) 推荐(0) 编辑
  2010年2月8日
摘要: 首先我是做web开发的,所以很多会偏向web的,组件使用的缓存是System.Web.HttpRuntime.Cache。 组件在默认情况下是关闭缓存的。 所以要开启缓存查询要做一下配置。 先看一下例子配置: <configSections> <section name="HxjCacheConfig" type="Hxj.Data.CacheConfiguration,H... 阅读全文
posted @ 2010-02-08 08:41 steven hu 阅读(5643) 评论(5) 推荐(1) 编辑
  2010年2月7日
摘要: 经过周末的通宵,发布了组件1.0版本。 对组件进行了扩展,最大的修改就是增加缓存查询,以获得更好的性能。 本节先讲一些小的扩展修改。 之前版本ToScalar()只是返回object。 现在增加了ToScalar<TResult>()方法,组件自动转换类型。 例如: DbSession.Default.From<Products>().Select(Products... 阅读全文
posted @ 2010-02-07 21:01 steven hu 阅读(3111) 评论(5) 推荐(0) 编辑
  2010年2月1日
摘要: 分页在前面好几节中的列子中已经出现,现在在详细讲解一下。 有三种方法去实现: 1、Top(int topCount) 方法 在sqlserver和msaccess中其实就是top , 在oracle通过rownum实现。 2、From(int startIndex, int endIndex) 从startIndex条到endIndex条之间的记录数。 3、Page(int pageSiz... 阅读全文
posted @ 2010-02-01 09:27 steven hu 阅读(7325) 评论(34) 推荐(2) 编辑
  2010年1月31日
摘要: 对事务有进行了更新,又得去下载一下新版本,对上一版本兼容,扩充了DbTrans方法。 相比十七节(事务)中的事务写法简洁了一些。如下 using (DbTrans trans = DbSession.Default.BeginTransaction()){ trans.Update<Products>(Products._.ProductName, "apple", Products... 阅读全文
posted @ 2010-01-31 13:52 steven hu 阅读(3532) 评论(4) 推荐(3) 编辑
  2010年1月30日
摘要: 批处理就是提交的脚本不是马上执行,而是到一定数量才提交。还是先上例子using (DbBatch batch = DbSession.Default.BeginBatchConnection()){ batch.Update<Products>(Products._.ProductName, "apple", Products._.ProductID == 1); batch.Upda... 阅读全文
posted @ 2010-01-30 12:49 steven hu 阅读(4562) 评论(4) 推荐(1) 编辑
  2010年1月29日
摘要: 首先对事务进行了升级,所以又要重新去下载一下新版本。 组件提供了简单的事务,并没有过多的封装。 先上个例子: using (DbTrans trans = DbSession.Default.BeginTransaction()){ DbSession.Default.Update<Products>(Products._.ProductName, "apple", Product... 阅读全文
posted @ 2010-01-29 23:31 steven hu 阅读(6553) 评论(3) 推荐(3) 编辑
  2010年1月28日
摘要: 在查询没有设置查询字段,组件默认是返回所有字段信息,即select * from table 那在查询中如何设置需要返回的字段信息呢? 在之前几节中的例子已经存在设置查询字段,是通过 select方法来设置的。 先上例子: DbSession.Default.From<Products>() .Select(Products._.ProductID, Products._.Pro... 阅读全文
posted @ 2010-01-28 14:51 steven hu 阅读(3750) 评论(4) 推荐(3) 编辑
  2010年1月27日
摘要: 本节将讲述查询的排序(order by) 和 分组(group by)。 先说排序 在分页中如果没有指定排序,组件会默认一个排序来实现分页。 例如 DbSession.Default.From<Products>() .Page(10, 2) .Where(Products._.CategoryID.SelectIn(1, 2, 3)) .ToList();生成的sql如下: ... 阅读全文
posted @ 2010-01-27 21:43 steven hu 阅读(6494) 评论(11) 推荐(1) 编辑
摘要: 联合查询在前面的例子中已经出现过,只不过没有细说。 先来个例子吧 DbSession.Default.From<Customers>() .InnerJoin<Orders>(Customers._.CustomerID == Orders._.CustomerID) .ToDataTable();生成的sql Text: SELECT * FROM [Custome... 阅读全文
posted @ 2010-01-27 11:37 steven hu 阅读(4347) 评论(11) 推荐(0) 编辑
摘要: 查询条件的值来自另外一次查询。 例如 sqlserver sql: select * from products where categoryid=(select top 1 categoryid from categories where categoryname=’produce’) 这条sql的实现代码如下: DbSession.Default.From<... 阅读全文
posted @ 2010-01-27 09:01 steven hu 阅读(5290) 评论(9) 推荐(0) 编辑