珂珂的个人博客 - 一个程序猿的个人网站

最新发布

.NET技术

自己来实现linq查询(一)

admin 阅读(4011) 评论(0)

这个组件一年前就写了..文字水平有限,一直没有写出来.现在想来怎么实现的都不记得了。。反正至少是写了2个差不多通宵,兴趣来了挡也挡不住呀.其中有一个方法没百度到,还是谷歌去搜的英文对着词典看的.... 虽然有微软有LINQ 不过只支持SqlServer ,EF 的话 对多数据库也不是支持太好,有好多字段类型不同数据库会不同。网上也有LINQ TO MySQL 之类的,本着学习的态度,我决定来自己实现一个LINQ。不求太复杂,只需要简单的单表查询,毕竟没那么大精力去研究。 真的不知道该如何下笔了。。实在忘了,以后有点东西还是马上分享吧。对于查询,好像是继承Exp [...]   阅读全文

.NET技术

自己来写ORM框架(三)

admin 阅读(4202) 评论(0)

接上面2篇,下面是具体实现,先定义一个抽象类DALAbstract 里面的DbQueryable 是自定义的linq查询,,没有实现完全 以后再分享出来 using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Configuration; using System.Transactions; using System.Linq; using System.Linq.Expressions; using [...]   阅读全文

.NET技术

自己来写ORM框架(二)

admin 阅读(3897) 评论(0)

第二篇是写一个orm帮助类EntityHelper 该类是泛型类 T 就是实体类型 还定义了一个委托public delegate object NewIDHandler(); 用于生成主键ID,因为我们有时候并不会让数据库来生成主键,比如我们用到多数据库同步的时候,自动递增可能不是太方便. 至于里面的IDbHelper 接口 请参照 <<一个通用的数据组件>> using System; using System.Collections.Generic; using System.Data; using Sy [...]   阅读全文

.NET技术

自己来写ORM框架(一)

admin 阅读(3612) 评论(0)

现在有不少ORM 框架了,不过本着学习知识的精神,来自己动手写一个简单的ORM框架,暂时不考虑多表的关联,因为有时候我们就是需要单表的操作,多表的话也可以分成多个单表操作 然后写个事务嘛. 原理很简单,就是根据POJO 来生成增删改查的sql,当然这其中需要用到反射的相关知识. 这个库自己用过,经过了很多次大改版。。所以说开发还是要先做好需求和架构,然后理清总体思路。最开始我定义了一个表属性TableAttribute和一个列属性ColumnAttribute 到最后为了纯pojo 我想办法去掉了这两个,不过要求数据操作类实现2个接口,一个是获取表名 一个是获取主键 [...]   阅读全文

.NET技术

一个通用的数据库访问组件(三)

admin 阅读(4142) 评论(0)

接着上面两篇,写一个DbHelper类最终完成接口的实现 using System; using System.Data.Common; using System.Data; using System.Collections.Generic; using FYJ.Data.Util; namespace FYJ.Data { public class DbHelper : DbHelperAbstract { private DbTransaction tran; #region 构造函数 [...]   阅读全文

.NET技术

一个通用的数据库访问组件(二)

admin 阅读(4021) 评论(0)

上一篇定义了一些接口,接下来做一个实现呢 先来定义一个抽象类GetDataAbstract 作用是获取不同数据类型的值,方便操作,当然没有写完所有类型。 该类包含一个抽象方法 public abstract DataSet GetDataSet(IEnumerable<IDataParameter> parms, string sql); 然后下面这些方法就可以根据抽象方法取值,无非就是取不同类型的值嘛. object GetObject(IEnumerable<IDataParameter> parms, st [...]   阅读全文

[未分类]

linq 动态排序

admin 阅读(3731) 评论(0)

Linq排序有很多方法,好多都是关于静态排序,而静态排序相对来说比较简单,也比较容易实现,我这里需要一个动态排序。就是按字符串形式传递需要排序的列名,和"asc","desc"。这需要我们动态构建lamdba表达式,下面来看写的一个扩展类,部分源码参考了网上,还有的AsQueryable() 这个方法是看了http://blog.csdn.net/fhzh520/article/details/6062447 这篇文章才知道的..以前总是IEnumerable<T>强转IQueryable<T> 但有时候失败. using System; usi [...]   阅读全文

[未分类]

wordpress3.6 与ueditor的结合

admin 阅读(3724) 评论(0)

wordpress上的tinymce编辑器貌似真的不太好用,网上有些换成百度ueditor的,但是大都是3.2的…,不过也尝试看下吧,把下载来得UEditor.zip解压到wordpress插件目录,后台安装。然后看到写文章页面出现了一上一下的两个编辑窗口。。。这个时候不要着急,我们在通过一些手段修改功能,让wp的默认编辑器是UEditor。 1.通过编辑UEditor插件修改ueditor/editor_config.js中的URL变量为绝对路径或者相对路径URL = window.UEDITOR_HOME_URL||tmp.substr(0,tmp.lastIndexOf [...]   阅读全文

[未分类]

diccuz与百度云存储BCS集成

admin 阅读(4325) 评论(0)

在discuz后台搜索云存储,竟然只有2个,倒是有个百度云存储,还是收费的。好吧,自己来改造下吧。 我们先把百度云存储php的sdk放到discuz的根目录,在conf.inc.php文件下配置好自己的AK,SK,Bucket。 研究代码和调试发现要经过source/class/discuz/discuz_upload.php文件,我在这个文件上加了个方法 function save_to_bcs($source, $target) { $succeed = false; try { require_once( dirname(dir [...]   阅读全文

[未分类]

wordpress 多个域名跳转到单一域名

admin 阅读(3176) 评论(0)

不像as.net,jsp可以通过拦截,php需要单一入口的设计方式才可以 在index.php 的最前面加上 //将www主机头301定向到不带www if (stristr($_SERVER ['HTTP_HOST'],"www.fyj.me" )||stristr($_SERVER ['HTTP_HOST'],"duapp.com")) { header ( "HTTP/1.1 301 Moved Permanently" ); header ( "Location:" . "http://fyj.me".$_SERVER ["REQUEST_URI"] ); [...]   阅读全文