摘要: 水晶报表实现套打 阅读全文
posted @ 2014-03-02 21:12 DotNet菜园 阅读(6384) 评论(1) 推荐(5) 编辑
摘要: 新的控件DataGridView中很多的“Cell”事件的先后触发顺序。 阅读全文
posted @ 2013-12-22 19:00 DotNet菜园 阅读(19173) 评论(3) 推荐(5) 编辑
摘要: 将 HttpClientHandler 类与 System.Net.Http 命名空间中的 HttpClient 类结合使用,以向 Web 服务发送 GET 请求并检索响应。   System.Net.Http 命名空间中的类可为现代 HTTP 应用提供编程接口。System.Net.Http 命名空间和相关的 System.Net.Http.Headers 命名空间提供的 HTTP 客户端组件,允许用户通过 HTTP 使用现代的 Web Service。 阅读全文
posted @ 2013-12-07 14:41 DotNet菜园 阅读(17232) 评论(0) 推荐(4) 编辑
摘要: 使用 System.Net.Http 命名空间中的 HttpClient 类可以向 WebService发送 POST与GET 请求并检索响应数据。   System.Net.Http 命名空间中的类可为现代 HTTP 应用提供编程接口。System.Net.Http 命名空间和相关的 System.Net.Http.Headers 命名空间提供的 HTTP 客户端组件,允许用户通过 HTTP 使用现代的 WebService。 阅读全文
posted @ 2013-11-27 21:10 DotNet菜园 阅读(58011) 评论(1) 推荐(3) 编辑
摘要: System.Net.Http 是微软推出的最新的 HTTP 应用程序的编程接口, 微软称之为“现代化的 HTTP 编程接口”, 主要提供如下内容: 1. 用户通过 HTTP 使用现代化的 Web Service 的客户端组件; 2. 能够同时在客户端与服务端同时使用的 HTTP 组件(比如处理 HTTP 标头和消息), 为客户端和服务端提供一致的编程模型。 阅读全文
posted @ 2013-11-23 17:19 DotNet菜园 阅读(19365) 评论(1) 推荐(4) 编辑
摘要: 用户与架构(schema)分开,让数据库内各对象不再绑在某个用户账号上,可以解决SQL SERVER 2000及以前版本中“用户离开公司"问题,也就是在拥有该对象的用户离开公司,或离开该职务时,不必要大费周章地更改该用户所有的对象属于新的用户所有。另外,也可让 DBA 在安装某个套装软件时,设置该套装软件所用的数据库对象都属于某个特定的架构,容易区别。也就是说,在单一数据库内,不同部门或目的的对象,可以通过架构区分不同的对象命名原则与权限。 阅读全文
posted @ 2013-10-26 12:53 DotNet菜园 阅读(10894) 评论(4) 推荐(7) 编辑
摘要: 架构(Schema)是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。在这里,我们可以将架构看成一个存放数据库中对象的一个容器。 阅读全文
posted @ 2013-10-22 20:58 DotNet菜园 阅读(22302) 评论(3) 推荐(6) 编辑
摘要: 通过设置SET DEADLOCK_PRIORITY LOW,让不重要的事务自动放弃,并在这些连接执行的业务逻辑中,加上针对死锁的错误处理。 事实上,在非常复杂的高并发量的系统中,要完全预防死锁,或者要知道什么样的用户在特殊的访问次序中会发生死锁,是非常困难的。所以应用程序应该对死锁错误“1205”要有相应的处理,以完成原有的业务逻辑的处理或是善后清除处理。 阅读全文
posted @ 2013-06-29 11:37 DotNet菜园 阅读(3924) 评论(2) 推荐(5) 编辑
摘要: 锁定的原因很多,尤其是前端应用程序没有合理的使用事务,或者对错误处理不当而导致事务长期持有而没有关闭。接下来讲讲最常见的几种锁定情况,并提供可能的解决方法。 1.费时的查询事务 2.不正确的事务或事务隔离级别设置 3.事务未正确处理 阅读全文
posted @ 2013-06-01 00:00 DotNet菜园 阅读(5337) 评论(2) 推荐(5) 编辑
摘要: 接下来看看SP_WHO2这个系统存储过程,如果你查询这个系统存储过程的源代码,就可以发现这个系统存储过程是整理master.sys.sysprocesses系统视图中的内容。在此用sp_who2来说明一下。 阅读全文
posted @ 2013-05-28 22:16 DotNet菜园 阅读(6027) 评论(1) 推荐(4) 编辑
摘要: 由于SQL SERVER 2008相比SQL SERVER 2005中的“活动监视器”有了比较大的改变,所以下而我们通过SQL语句进行分析,使用SQL语句进行分析需要通过SP_WHO、SP_WHO2、SP_LOCK等系统存储过程、Master.sys.sysprocesses系统视图,或从SQL 2005(2008)新提供的动态视图管理(DMV)sys.dm_exec_session、sys.dm_tran_locks等获取相关信息。 阅读全文
posted @ 2013-05-21 20:43 DotNet菜园 阅读(15488) 评论(1) 推荐(6) 编辑
摘要: 对于并发系统、对于有大量读写数据库操作的业务系统等,当多人同时访问数据库时,最复杂的情况之一就是大量的事务与资源纠缠在一起,相互被锁而彼此等待,也称为死锁。当数据库中出现很多很多锁时,系统瞬间就无法提供正常服务。此时观察系统资源的使用情况,会发现CPU使用率不高,内存占用量也不高,还有很多未使用的内存,网络带宽也充足,硬盘也不繁忙,通过数据库管理工具查询的话,SQL SERVER中的数据也正常无误,但是使用系统的用户访问此数据库时却要需要等很多久很久,更多的就出现连接超时,数据库无响应。 阅读全文
posted @ 2013-05-18 13:16 DotNet菜园 阅读(10825) 评论(4) 推荐(6) 编辑
摘要: 各种事务隔离级别发生的影响与数据库引擎使用动态锁定管理策略来控制锁定和系统的最佳成本效益。数据库引擎可以动态调整数据粒度与锁定类型,当使用最低一级的行锁而非更大范围的页锁时,可以降低两个事务要求相同范围的数据锁定的可能性,增强并行访问的能力,可同时服务更多的用户,减小死锁的机率。相反低级锁转为高级锁可以减小系统的资源负担,但会增加并行争用的可能性。 阅读全文
posted @ 2013-04-27 17:21 DotNet菜园 阅读(6269) 评论(2) 推荐(8) 编辑
摘要: 事务隔离级别简单的说,就是当激活事务时,控制事务内因SQL语句产生的锁定需要保留多入,影响范围多大,以防止多人访问时,在事务内发生数据查询的错误。设置事务隔离级别将影响整条连接。 阅读全文
posted @ 2013-04-20 16:48 DotNet菜园 阅读(6611) 评论(0) 推荐(5) 编辑
摘要: SQL SERVER要锁定资源时,默认是从最底级开始锁起,例如,索引键值,数据行,以避免大范围锁定,以避免影响其他人同时访问该范围内的其他数据,但是当内存不足时,SQL SERVER会自动扩大锁定范围以减低管理锁定的负荷。 阅读全文
posted @ 2013-04-16 20:59 DotNet菜园 阅读(6066) 评论(1) 推荐(3) 编辑
摘要: 锁定:通俗的讲就是加锁。锁定是 Microsoft SQL Server 数据库引擎用来同步多个用户同时对同一个数据块的访问的一种机制。定义:当有事务操作时,数据库引擎会要求不同类型的锁定,如相关数据行、数据分页或是整个数据表,当锁定运行时,会阻止其他事务对已经锁定的数据行、数据分页或数据表进行操作。只有在当前事务对于自己锁定的资源不在需要时,才会释放其锁定的资源,供其他事务使用。本文有部分内容来自MSDN。 阅读全文
posted @ 2013-04-13 13:37 DotNet菜园 阅读(26371) 评论(5) 推荐(13) 编辑
摘要: SQL SERVER 行转列的性能测试 阅读全文
posted @ 2013-03-31 22:22 DotNet菜园 阅读(4764) 评论(4) 推荐(2) 编辑
摘要: 由于swfupload对于IE9的兼容性的不太好,以及随着HTML5与IE9、IE10的逐渐普及,加上鉴于swfupload已经很久没有进行过更新等等原因,要对批量文件上传的方式要进行更新,使用新的解决方案。于是在经过一阵寻找之后,决定使用plupload做为核心重新写了一个批量文件上传解决方案。Plupload 是一个Web浏览器上的界面友好的文件上传模块,可显示上传进度、图像自动缩略和上传分块,同时上传多个文件。Plupload 的上传文件的引擎使用Flash,Silverlight,HTML5,Gears,BrowserPlus或正常的FileUpload。 阅读全文
posted @ 2013-01-30 20:48 DotNet菜园 阅读(64385) 评论(24) 推荐(15) 编辑
摘要: 不要认为只要有负向查询出现在查询条件WHERE子句中就一定认为索引就没有效用,在WHERE子句中使用非SARG并不一定导致全表扫描或是聚集索引扫描。SQL SERVER可以在某些非SARG状况中使用索引,以及查询中虽然包含了部分非SARG但仍可以对此查询中的SARG部分使用索引。 也不要认为在查询语句中的查询条件WHERE子句中使用SARG就一定会使用到相应的索引,而不会进行全表扫描或聚集索引扫描。SQL SERVER查询优化程序会根据SARG使用情况所获取的查询结果的记录数量是否过多,而决定是使用相应的索引,还是使用全表扫描或是聚集索引扫描。当然,无论情况如何,在进行性能调校时,最先也是最直接的改变就是把非SARG改成SARG。因为把非SARG改成SARG最坏的情况就是全表扫描或是聚集索引扫描,查询结果的记录数量比较少,会高效利用相应索引,快速查出结果。 阅读全文
posted @ 2013-01-26 20:34 DotNet菜园 阅读(2299) 评论(0) 推荐(2) 编辑
摘要: 除了不应该做字段数据的计算外,非SARG 语句的格式语句还包含在WHERE条件子句中,使用负向查询操作符。 如NOT 、!=、 、!、!、NOT EXISTS 、NOT IN及NOT LIKE 等,因为通过有顺序的索引结构,SQL SERVER 可以有效地利用二分法进行查找,快速找到相应的数据,但是如果查询条件是不要什么数据,其余的都要(就是负向查询), 则 无法利用索引进行二分查找,只能进行全表扫描或聚集索引扫描。 以下同样是负向操作健立的SARG 条件查询与非SARG 条件查询范例。从中可以看出两者的执行成本是不一样的,相差十倍左右,但是其数据查询的记录数量也不一样。个人理解查询优化程序是根据数据查询的记录数量,来决定使用哪种执行计划。 阅读全文
posted @ 2012-12-18 23:03 DotNet菜园 阅读(4353) 评论(1) 推荐(4) 编辑