C#数据本地存储方案之SQLite
即使是做网络应用,在断线情况下,也需要考虑数据的本地存储。在SQLite出现之前,数据量大的情况下,我们一直使用ACCESS,数据量小,则文件存储。ACCESS不支持事务原子性,在断电情况下(这种情况总是会发生)会导致数据很难恢复。
一:安装
SQLITE,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统。我直接使用的是http://sqlite.phxsoftware.com
http://cyqdata.cn/cnblogs/article-detail-38610
MVC3中实现验证提示信息多语言支持
导言
在上一篇博文中提出一种通过自定义验证适配器自定义模验证提示信息的方法,实现了修改System.ComponentModel.DataAnnotations中提供的默认验证信息,但此方法是把提示信息写死在代码中,不够灵活,比如要多语言支持的情况下,就无能为力了。
本文便继续加以完善,在上文方法的基础上,实现验证提示信息的多语言支持。
改造MyRequiredAttributeAdapter
即
http://cyqdata.cn/cnblogs/article-detail-38606
CYQ.Data 数据框架 V2.0 版本 开放源码 继续开源之路
写在开源前的几句话:
1:指责开源不彻底,动不动就希望有一份最新版本的源码,好像国内开源的失败,全在开源者走向封源的原因
想说:
1:当你拿到一份源码后,你都做了什么?给了反馈?帮忙宣传?有木有,有木有?可怕的是一边索取还一边骂。
2:国内都是一些富翁在写开源代码?
2:指责打着开源的幌子在收费,既然开源了,还收费,太不地道了
想说:
1:开源!=免费,这些常识网上
http://cyqdata.cn/cnblogs/article-detail-38605
我也要学C语言-第十三章:复合数据类型—指针与指针变量(一)
指针的定义:
指针是一种复合数据类型。它是对一类变量的描述。就像街道门牌的号码!例如有一条X的街道,它有1024栋房子。那么每栋房子可以用X[0-1024]来索引。假如我们每栋房子都可以保存一个整数值,那么X街就有1024个不同的整型变量。而且每个变量都是可以使用房屋的编号去访问。其实这里的每栋房子的编号就是指针!我们把X换做是内存,每栋房子看成一个独立的内存空间,那么就可以这么下结论,一个指
http://cyqdata.cn/cnblogs/article-detail-38604
(译)如何使用cocos2d和box2d来制作一个Breakout游戏:第二部分(完)
免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作!
原文链接地址:http://www.raywenderlich.com/505/how-to-create-a-simple-breakout-game-with-box2d-and-
http://cyqdata.cn/cnblogs/article-detail-38603
EA(Enterprise Architect)建立数据模型间外键约束
EA除了画用例图时比较方便,在建立数据模型上也很强大。前段时间一直再为数据模型之间的约束问题纠结,最近终于研究出了一点成就,希望给大家分享一下,有不对的地方也请各位高手指正:
一、什么是外键?
两种可以访问表的键:主键和外键。一个主键是唯一的,它定义一个表格中的一条记录。外键可以通过其他相关表格中的主键来访问数据。
外键在EA的UML模型中是一个衍型操作。一个外间是一个字段(属性)的集合,同时,有
http://cyqdata.cn/cnblogs/article-detail-38599
一个网站的诞生- MagicDict开发总结3 [日语字典数据结构]
首先感谢各位ACCESS数据库大牛在上一篇文章的评论中,对我的批评和帮助。这样的话,上一篇文章也没有白写了。的确,一直在Mainframe上做开发,ACESS只是入门级别的水平,学习的道路还很长很长,需要 大石头 这样的高手的指教和提点。 这篇文章,可能不会涉及到任何技术面的东西。主要介绍一下日语单词的特征,就当一个日语知识的简单普及了。[园子里面日语好的朋友应该有很多]
日语在线字典,可能是所有
http://cyqdata.cn/cnblogs/article-detail-38594
深入浅出多线程系列之九:Interlocked
在大多数计算机上,增加变量操作不是一个原子操作,需要执行下列步骤:
1. 将实例变量中的值加载到寄存器中。
2. 增加或减少该值。
3. 在实例变量中存储该值。
在多线
http://cyqdata.cn/cnblogs/article-detail-38587
大批量数据导出到Excel的实现
在平时的项目中,将数据导出到Excel的需求是很常见的,在此对一些常见的方法做以总结,并提供一种大数据量导出的实现。
OLEDB
使用OLEDB可以很方便导出Excel,思路很简单,处理时将Excel当做Access处理,利用SQL建表、插入数据。不多说了,直接看代码
使用OLEDB导出Excel
public static void&nb
http://cyqdata.cn/cnblogs/article-detail-38581
C# Foundation
1. 数值类型
整数字面量:
int x = 100; //decimal notationlong y = 0x7F; //hexadecimal notation
实数字面量:
double x = 1.5; //decimal notationdouble y = 1E06; //exponential notation
数值字面量类型推定:&nb
http://cyqdata.cn/cnblogs/article-detail-38580
我也要学C语言-第十二章:编译预处理——带参数的宏
带参数的宏
为了进一步扩大宏的应用范围,在定义宏的时候,还可以带参数
一般形式:#define 标识符(参数表) 字符串
带参数宏的作用:在编译预处理时,将源程序中所有标识符替换成字符串,并且将字符串中的参数用实际使用的参数替换。
例子:#define S(a,b) (a*b)/2
上面这个例子则源程序中如果使用了S(3,4),在编译预处理时就会将其替换为(3*4)/2
代码事例:
http://cyqdata.cn/cnblogs/article-detail-38576
浅解c#多线程读写锁(续)
上一章我们讨论到了解决方案,本文着重讨论一下该方案的实现.
一. 排它锁类的实现:
我们实现一个类TimeSpanWaitor,用它来控制排它锁的获取和释放,其实该类的实现的目的很简单,那就是实现一个方法,该方法接受一个时间片段和一个函数回调(该函数返回bool)的参数,该
http://cyqdata.cn/cnblogs/article-detail-38575
[WCF安全系列]实例演示:TLS/SSL在WCF中的应用[上篇]
在接下来的系列文章中我们正是讨论关于身份认证的主题。在前面我们已经谈到了,WCF中的认证属于“双向认证”,既包括服务对客户端的认证(以下简称客户端认证),也包括客户端对服务的认证(以下简称服务认证)。客户端认证和服务认证从本质上并没有什么不同,无非都是被认证一方提供相应的用户凭证供对方对自己的身份进行验证。我们先来讨论服务认证,客户端认证放在后续的文章中。 在《从两种安全
http://cyqdata.cn/cnblogs/article-detail-38574
MVC3中使用验证适配器修改默认的验证提示信息
验证
MVC中提供的模块验证非常灵活,在System.ComponentModel.DataAnnotations命名空间中提供了常用的一些验证特性,如Required、Compare等。 所有的验证特性都提供有ErrorMessage属性给我们设置自定义的出错提示信息,比如我们可以这样指定必填属性的提示:[Required(ErrorMessage ="请输入用户名")]。 还可以通过设置Err
http://cyqdata.cn/cnblogs/article-detail-38573
通过CLR与托管代码思软件开发学习
1、 .NET托管代码
现实生活中的托管,托管者只需要向被托管者发出托管请求,不需要知道被托管者怎么处理,只等待接收被托管者向托管者返回的结果。
.NET环境中托管也与此大同小异,.NET中的托管编码语言通过一个名为CLR(公共语言运行时)的“运行时”读写其他的内存或硬件资源,并利用CLR的功能(内存管理、程序集加载、安全性、异常和线程同步等),来完成编码的编译和执行。
2
http://cyqdata.cn/cnblogs/article-detail-38570
C++0x FAQ中文版:您是如何看待C++0x的?
对于我来说,这是一个最最容易被问到的问题。它可能是被问到的次数最多的问题。让人吃惊的是,C++0x就像一种新的编程语言:跟以前旧的C++不同,C++0x的各个部分被更好地组合在一起,并且我找到了一种更加自然的高层次的编程方式,而且同样有很好的效率。如果你仅仅是将C++当作更好的C,或者是一种面向对象语言,那么你将错过其中非常精彩和关键的东西。C++0x中的抽象机制将比以前更加灵活,并且更加经济实惠
http://cyqdata.cn/cnblogs/article-detail-38569
Javascript学习笔记十二——Ajax入门
本系列文章导航JavaScript学习笔记一——数据类型JavaScript学习笔记二——函数JavaScript学习笔记三——作用域JavaScript学习笔记四——Eval函数JavaScript学习笔记五——类和对象JavaScript学习笔记六:prototype的提出Javascript学习笔记七——原型链的原理Javascript学习笔记八——用JSON做原型Javascript学习笔
http://cyqdata.cn/cnblogs/article-detail-38561
Web 地理定位(Geo-Location)知识大全
在线地图已经是很平常的应用,Google Map 甚至可以用作驾驶导航仪,然而,这些应用的实现涉及到千丝万缕的艰辛工作,仅仅是定位你现在的位置,就有很多技术,有幸的是,如今在你的 Web 站点中,你可以通过短短的几行代码,获得一个用户的地理位置,本文介绍的是用在 Web 中的各种地理定位技术。通过 IP 地址获得用户的地理位置信息互联网不过是一个巨大的网络,上面的每一台电脑对应一个 IP 地址,通
http://cyqdata.cn/cnblogs/article-detail-38560
C#3.0笔记(一)预备知识之Delegate
在学习C#3.0之前还是先来回顾下委托、事件,因为这样能更加有助于理解C#3.0里面的一些新的特性,如Lambada表达式等。
背景
在C语言中我们可以用函数指针来创建回调函数,但是在C里面回调函数存在一些安全问题。因为它只是在内存地址中记录了下来,并没有像方法的参数类型、参数个数、返回值等其他安全信息。而在.Net FrameWork中,回调仍然是可以的,.net framework中提
http://cyqdata.cn/cnblogs/article-detail-38551
分布式缓存BeIT Memcached简介
或许你还没有用到过分布式缓存,在web集群的情况下,它可以很好的让一部分常用数据常驻服务器内存而不用担心各台web不同步。下面稍微介绍一下beitmemcached对于.net的支持,官方参考http://code.google.com/p/beitmemcached/
一个完整的操作步骤:1、点击上面页面的downloads,把Memcached_1.2.5.zip 和BeITMemcache
http://cyqdata.cn/cnblogs/article-detail-38550