木子屋 Dnawo's BLOG

分类:Web编程

共 939 篇

sql server行转列问题终极解决

1)简单的行转列 示例表result: id sid course result 1 2005001 语文 80.0 2 2005001 数学 90.0 3 2005001 英语 80.0 4 2005002 语文 56.0 5 2005002 数学 69.0 6 2005002 英语 89.0 执行 select sid,语文=isnull(sum(case course when '语文' then result end),0), 数学=isnull(sum(case course when '数学' then result end),0), 英语=isnull(sum(case course when '英语' then result end),0)…

Repeater中实现CheckBox的全选/反选/取消

实现的思路比较简单,遍历Repeater所有行,然后用FindControl方法寻找CheckBox控件,并对其Checked属性赋值即可。下边是一个简单的例子: PageA.aspx: PageA.aspx.cs: 根据这个思路要对GridView、DataList中的CheckBox进行全选/反选/取消也很简单了,就是遍历所有行的方法不太一样而已。 说明 1.如注释中说的,数据绑定一定要放在!IsPostBack中进行,否则每次都会重新绑定数据,导致不论之前选择与否,Checked的值都为false,反选按钮失效每次都是全选! 2.Items集合包含的是ItemTemplate模板中的内容,不包含HeaderTemplate和FooterTemplate模板中的内容!GridView、DataList都是这样的!…

SQL语句:按时段统计数据

假如有一张会员表Table1,我们现在想统计出某些时段(一个月每一天或一天的每个小时)的注册人数,SQL应该怎么写呢?假如会员表数据如下: UserName RegDateTime ---------------- ----------------------------- user1 2008-07-29 00:32:53.000 user2 2008-07-29 00:32:53.000 user3 2008-07-31 00:32:53.327 user4 2008-07-31 00:32:53.327 user5 2008-07-31 01:32:53.000 user6 2008-07-31 01:32:53.000…

存储过程中SET NOCOUNT的使用

SET NOCOUNT可以阻止在结果集中返回可显示受 Transact-SQL 语句或存储过程影响的行计数的消息。 语法 SET NOCOUNT { ON | OFF } 备注 当 SET NOCOUNT 为 ON 时,不返回计数。当 SET NOCOUNT 为 OFF 时,返回计数。 即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。 当 SET NOCOUNT 为 ON 时,将不向客户端发送存储过程中每个语句的 DONE_IN_PROC 消息。如果存储过程中包含一些并不返回许多实际数据的语句,网络通信流量便会大量减少,因此,将 SET NOCOUNT 设置为 ON 可显著提高性能。…

C#的using 语句

using 语句会确保调用了对象的 Dispose 方法,即使在调用对象上的方法时发生异常也是如此,当然了,前提条件是对象类型必须实现 IDisposable 接口。还有,在 using 块中,对象是只读的所以你无法进行修改或重新分配。如下例子: 先建一个 Student 类,它实现了 IDisposable 接口: using 语句使用示例: 说明: 1.Student 必须实现 IDisposable 接口,否则程序将出错,提示:using 语句中使用的类型必须可隐式转换为“System.IDisposable”; 2.输出yes,说明调用Dispose后,对象并没有被释放; 参考文章:http://msdn.microsoft.com/zh-cn/asp.net/yh598w02.aspx

List数据集绑定至DataList示例

DataList的数据源可以是DataView、DataSet、DataTable、List等,其实只要是实现了IList接口的数据集合都可以用来做DataList的数据源。DataView、DataSet、DataTable做数据源比较常见,今天我们看看怎么用List数据集来做数据源,其实都一样的,下边是例子。 先建一个Student类: List数据集绑定至DataList: Test.aspx代码: Test.aspx.cs代码: 绑定过程都差不多,主要就是在模板中怎么显示对象的属性,可以看到,和显示DataTable字段的值是一样的。

CodeSmith C# 乱码之解决

将CodeSmith的输出文件在VS2005中打开,发现中文变成了乱码,看了一下CodeSmith的帮助,将ReponseEncoding属性改成"UTF-8",再重新输出,用VS打开,还是乱码。没办法,在VS的选项里面看看吧,意外发现“文本编辑器”->“常规”中有一个自动检测不带签名的UTF-8编码,选上,中文乱码终于露出了原形。找了一些资料看看,总算知道了原因:Windows为了识别Unicode、Unicode big endian和UTF-8,在Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。而CodeSmith的输出UTF-8是标准的未加标识的。这样VS就不能识别出输出文件的编码了。 为此我们可以更改其CodeSmith的脚本的方法来处理: 首先增加2行…

为数据库建立索引

就象许多的PHP开发者一样,在刚开始建立动态网站的时候,我都是使用相对简单的数据结构。PHP在连接数据库方面的确实是十分方便(译者注:有些人认为PHP在连接不同数据库时没有一个统一的接口,不太方便,其实这可以通过一些扩展库来做到这一点),你无需看大量的设计文档就可以建立和使用数据库,这也是PHP获得成功的主要原因之一。 前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过一些开发,但却对如何为数据库建立适当的索引所知较少,因此我起了写一篇相关文章的念头。 最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。…

MSSQL优化之————探索MSSQL执行计划

作者:no_mIss QQ:34813284 时间:2006.11.07 23:30:00 环境:win2003 + mssql2005 最近总想整理下对MSSQL的一些理解与感悟,却一直没有心思和时间写,晚上无事便写了一篇探索MSSQL执行计划,本文讲执行计划但不仅限于讲执行计划。 网上的SQL优化的文章实在是很多,说实在的,我也曾经到处找这样的文章,什么不要使用IN了,什么OR了,什么AND了,很多很多,还有很多人拿出仅几S甚至几MS的时间差的例子来证明着什么(有点可笑),让许多人不知道其是对还是错。而SQL优化又是每个要与数据库打交道的程序员的必修课,所以写了此文,与朋友们共勉。 谈到优化就必然要涉及索引,就像要讲锁必然要说事务一样,所以你需要了解一下索引,仅仅是索引,就能讲半天了,所以索引我就不说了(打很多字是很累的,况且我也知之甚少),可以去参考相关的文章,这个网上资料比较多了。…