摘要: SQL Server 通过触发器用来保证业务逻辑和数据的完整性。在SQL Server中,触发器是一种特殊类型的存储过程,可在执行语言事件时自动触发。SQL Server中触发器包括三种:DML触发器、DDL触发器和登录触发器。 DML触发器:执行DML语句触发执行,例如操作数据表或视图的insert、update、delete语句,不包含select。 DDL触发器:执行DDL语句时触发执行...阅读全文
posted @ 2015-11-02 07:24 齐师傅 阅读(1384) 评论(0) 编辑
摘要: 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码...阅读全文
posted @ 2015-10-28 15:17 齐师傅 阅读(573) 评论(0) 编辑
摘要: 一、定义变量--简单赋值 declare @a int set @a=5 print @a --使用select语句赋值 declare @user1 nvarchar(50) select @user1='张三' print @user1 declare @user2 nvarchar(50) select @user2 = Name from ST_User where ID=1 prin...阅读全文
posted @ 2015-10-28 15:03 齐师傅 阅读(570) 评论(0) 编辑
摘要: 存储过程是一组预编译的SQL语句,它可以包含数据操纵语句、变量、逻辑控制语句等。 存储过程允许带参数: 输入参数:可以在调用时向存储过程传递参数,此类参数可用来向存储过程中传入值(可以有默认值) 输出参数:从存储过程中返回(输出)值,后面跟随OUTPUT关键字 存储过程的优点: 执行速度快 允许模块化设计 提高系统安全性 减少网络流量 ...阅读全文
posted @ 2015-10-28 14:48 齐师傅 阅读(1074) 评论(0) 编辑
摘要: 在编程过程中,我们通常把特定的功能语句块封装称函数,方便代码的重用。我们可以在SQL Server中自定义函数,根据函数返回值的区别,我们自定义的函数分两种:标量值函数和表值函数。自定义函数的优点:模块化程序设计更快的执行速度减少网络传输一个函数最多可以有1024个参数;在调用函数时,如果未定义参数...阅读全文
posted @ 2015-10-28 09:47 齐师傅 阅读(706) 评论(0) 编辑
摘要: 批处理应用程序向SqlServer发送的一组命令,Sql Server会将其编译成一个可执行单元,称为执行计划,执行计划中的语句每次执行一条。每个不同的批处理用GO命令分割。GO命令不是SQL语句,它是告诉SSMS将GO之前的语句作为批处理一起发送给数据库引擎。注意:GO命令不能和其它SQL命令写在...阅读全文
posted @ 2015-10-28 09:46 齐师傅 阅读(885) 评论(1) 编辑
摘要: 适可而止:You Ain’t Gonna Need It YAGNI原则指的是只需要将应用程序必需的功能包含进来,而不要试图添加任何其他你认为可能需要的功能。 在一个软件项目中,往往80%的时间花费在20%的功能上。 当你准备列出一个项目清单时,试着考虑以下问题: 通过降低抽象的层级,来实现低复杂度 根据特性将功能独立出来 适度接受非功能性需求 识别耗时的任务,并摆脱它们这些原...阅读全文
posted @ 2015-10-25 09:42 齐师傅 阅读(693) 评论(0) 编辑
摘要: DRY——Don't Repeat Yourself Principle,直译为“不要重复自己”原则 DRY简而言之,就是不要写重复的代码。原则本身很简单,但是,对于OOAD(面向对象的分析和设计)来说,有着非常重大的意义。 DRY利用的方法就是抽象:把共同的事物抽象出来,把代码抽取到一个地方去。这样就可以避免写重复的代码。 举一个DRY的典型例子,如果在一个类构造的时候,需要进行成员的初始化,在...阅读全文
posted @ 2015-10-25 09:28 齐师傅 阅读(712) 评论(0) 编辑
摘要: S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。 单一责任原则: 当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的...阅读全文
posted @ 2015-10-25 09:24 齐师傅 阅读(533) 评论(0) 编辑
摘要: MongoDB的官方驱动下载地址:https://github.com/mongodb/mongo-csharp-driver/releases 目前最新的版本是2.10,支持.NET 4.5以上。由于我现在的程序还在.NET4.0上面构建,所以这里使用1.10.1版本。 添加引用 解压下载到的驱动,然后在我们的程序中添加引用: MongoDB.Bson.dll Mongo...阅读全文
posted @ 2015-10-20 13:30 齐师傅 阅读(7079) 评论(1) 编辑
摘要: MongoDB的下载地址:http://www.mongodb.org/downloads MongoDB有32bit和64bit两个版本,32bit只能存放2GB数据。我们选择64bit版进行下载。 下载完成之后就行安装。不再赘述。 启动MongoDB服务器 打开windows命令行,进入安装目录: 然后,使用命令 mongod –-dbpath d:\mongodb\db 启...阅读全文
posted @ 2015-10-19 16:36 齐师傅 阅读(788) 评论(0) 编辑
摘要: 需求描述:当用户的账户在另一个浏览器中登录的时候,需要把当前浏览器的登录强制下线。这种需求在业务系统,或付费视频服务网站中比较常见。 这种需求我称之为“单客户端(浏览器)”登录,与单点登录(SSO)有本质的区别,关于SSO的实现方案可以参考我的另外一篇文章:谁都能看懂的单点登录(SSO)实现方式(附源码) 关于这个功能的实现,我分为三个环节: 用户登录。 处理用户请求。 心跳请求,Keep ...阅读全文
posted @ 2015-10-18 20:27 齐师傅 阅读(549) 评论(0) 编辑
摘要: Google 图片搜索功能 在谷歌图片搜索中, 用户可以上传一张图片, 谷歌显示因特网中与此图片相同或者相似的图片. 比如我上传一张照片试试效果:原理讲解 参考Neal Krawetz博士的这篇文章, 实现这种功能的关键技术叫做"感知哈希算法"(Perceptual Hash Algorithm),...阅读全文
posted @ 2015-07-16 18:04 齐师傅 阅读(1835) 评论(1) 编辑
摘要: 说一个简单的方法,在VS2012、win7 sp1下亲测可用。在开始菜单中找到VS 2012开发人员命令提示,然后执行命令:aspnet_regiis.exe -i运行完成后截图如下:阅读全文
posted @ 2014-11-25 21:14 齐师傅 阅读(462) 评论(0) 编辑
摘要: Extjs GridPanel 提供了非常强大数据表格功能,在GridPanel可以展示数据列表,可以对数据列表进行选择、编辑等。在之前的Extjs MVC开发模式详解中,我们已经使用到了GridPanel,今天我们来介绍一下Extjs中GridPanel的详细用法。本文的示例代码适用于Extjs ...阅读全文
posted @ 2014-09-28 17:55 齐师傅 阅读(68261) 评论(12) 编辑