随笔 - 233  文章 - 0  评论 - 246  阅读 - 84万
10 2011 档案
SQL子句执行顺序和Join的一点总结
摘要:1.笛卡尔积(Cartesian product)顾名思义, 这个概念得名于笛卡儿. 在数学中,两个集合 X 和 Y 的笛卡儿积(Cartesian product),又称直积,表示为 X × Y,是其第一个对象是 X 的成员而第二个对象是 Y 的一个成员的所有可能的有序对.假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。可以扩展到多个集合的情况。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。2.Join类型cross 阅读全文
posted @ 2011-10-27 16:54 BobLiu 阅读(22329) 评论(5) 推荐(10) 编辑
ROW_NUMBER() OVER (ORDER BY OrderConfirmTime DESC) 中, 如果OrderConfirmTime不唯一, 会造成分页中的数据重复问题.
摘要:如题, 真实的系统中有有多条数据有完全一致的OrderConfirmTime确认时间, 因此以此分出的页中, 第2页中出现的数据有可能还出现在第3页中.查了一下才知道, 排序的列如果不能唯一确认行的顺序,就会造成这个问题。解决办法也很简单, 后面再加一个订单编号作为最后一个排序字段,问题就解决了,如下: ROW_NUMBER() OVER (ORDER BY OrderConfirmTime DESC, OrderID ) AS RowNumber 阅读全文
posted @ 2011-10-26 16:52 BobLiu 阅读(1091) 评论(0) 推荐(0) 编辑
ASP.NET页面生命周期描述(转)
摘要:在以前写个一篇关于ASP.NET页面生命周期的草稿,最近又看了看ASP.NET,做个补充,看看页面初始过程到底是怎么样的下面是ASP.NET页面初始的过程:1. Page_Init();2. Load ViewState;3. Load Postback data;4. Page_Load();5. Handle control events;6. Page_PreRender();7. Page_Render();8. Unload event;9. Dispose method called;下面对其中的一些过程作下描述:1. Page_Init();这个过程主要是初始化控件,每次页面载入 阅读全文
posted @ 2011-10-24 16:32 BobLiu 阅读(282) 评论(0) 推荐(1) 编辑
ASP.NET 网面的调用方式: IsPostBack, IsCallBack, IsCrossPagePostBack.
摘要:有必要了解调用 ASP.NET 页面的方式:是由原始请求 (HTTP GET)、回发 (HTTP POST)、来自其他页的跨页面发送 (HTTP POST) 调用的,还是由来自其他页(使用 Transfer 方法或使用浏览器中的回调)的传送调用的。 调用 ASP.NET 网页的方式主要有下面几种:IsPostBackIsCrossPagePostBackIsCallback下表列出了页调用方式及对应的 Page 属性值。调用方法属性值原始请求将 IsPostBack 设置为 false。将 IsCallback 设置为 false。回发将 IsPostBack 设置为 true。将 IsCal 阅读全文
posted @ 2011-10-24 16:12 BobLiu 阅读(1143) 评论(0) 推荐(1) 编辑
计算机数制和运算的一点总结.
摘要:多年不用, 都忘记了, 可能当初也是学的有点稀里糊涂, 这几天看了些书和文章, 逐渐理清些思路, 现在总结备忘如下: 一.为什么会有10进制, 2进制,8进制,16进制?10对我们来说是一个非常重要的数字。10是我们大多数人拥有的手指或脚趾的数目,因而我们人类已经适应了以10为基础的数字系统. 我们通常使用的数字系统称为以10为基础的数字系统或十进制。这个数字系统对我们来说非常自然,因而我们很难想像出还有其他的数字系统。如果人类不是有那么多只手指,我们数数的方式就会有所不同,数字10就可能代表别的东西了。当我们明白了10可以指只有两只鸭子的时候,也就可以解释开关、电线、灯泡、继电器(或干脆就叫 阅读全文
posted @ 2011-10-23 23:05 BobLiu 阅读(3969) 评论(2) 推荐(1) 编辑
逻辑位运算与逻辑运算
摘要:两者非常容易混淆, 其实这是截然不同的两种运算.1.逻辑位运算与运算 1&2 = 0 -> 0000 0001 & 0000 0010 = 0000 0000 = 0或运算 1|2 = 3 -> 0000 0001 & 0000 0010 = 0000 0011 = 3按位求反(~)运算,异或(^)运算略.移位(<<左移,>>右移)运算略.2.逻辑运算逻辑与&& 例如: if (a.length>1 && b.length>1) 逻辑或|| 例如: if (a.length>1|| b 阅读全文
posted @ 2011-10-22 08:55 BobLiu 阅读(511) 评论(0) 推荐(0) 编辑
Exceeded storage allocation. The server response was: 4.3.1 message size exceeds fixed maximum message size. 邮件过大的异常解决
摘要:1.症状:使用System.Net.Mail发送邮件时遇到错误: Exceeded storage allocation. The server response was: 4.3.1 message size exceeds fixed maximum message size.2.错误log: ERROR 2011-10-21 13:49:31,389 [36] logException [(null)] -System.Net.Mail.SmtpException: Exceeded storage allocation. The server response was: 4.3.1 M 阅读全文
posted @ 2011-10-21 14:51 BobLiu 阅读(2667) 评论(0) 推荐(0) 编辑
内存, 硬盘, CPU是拿什么材料制作的? 电子管, 晶体管与计算机硬件的发展史.
摘要:0.引子从<<深入理解计算机系统>>一书上看到: CPU内寄存器读取速度比内存速度快100倍, 硬盘读取时间开销是内存的1000万倍.从寄存器(也就是L0)->L1高速缓存->L2高速缓存->内存->硬盘->分布式硬盘, 造价逐渐低, 速度逐渐减慢, 容量逐渐增大; 反之则造价逐渐昂贵, 速度逐渐提高, 容量则逐渐减少.看了这组数据,不禁想知道内存,cpu,硬盘的制造材料都是什么?是什么造就了这么大的速度差别?1.内存内存颗料的原材料是:硅, 硅提炼制成成晶圆再而进行切割.2.硬盘(港台称之为硬碟,英文名:Hard Disc Drive 简 阅读全文
posted @ 2011-10-20 23:57 BobLiu 阅读(7298) 评论(0) 推荐(0) 编辑
总线(BUS)和计算机的字长
摘要:1.总线(BUS)总线(BUS)是指计算机组件间规范化的交换数据(data)的方式,即以一种通用的方式为各组件提供数据传送和控制逻辑。从另一个角度来看,如果说主板(Mother Board)是一座城市,那么总线就像是城市里的公共汽车(bus),能按照固定行车路线,传输来回不停运作的比特(bit)。这些线路在同一时间内都仅能负责传输一个比特。因此,必须同时采用多条线路才能传送更多数据,而总线可同时传输的数据数就称为宽度(width),以比特为单位,总线宽度愈大,传输性能就愈佳。总线的带宽(即单位时间内可以传输的总数据数)为:总线带宽 = 频率 x 宽度(Bytes/sec)。2.字长字长在计算机 阅读全文
posted @ 2011-10-20 23:12 BobLiu 阅读(7144) 评论(0) 推荐(0) 编辑
ASCII与Unicode, codepage, utf-8
摘要:1. ASCII ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。 因为1位二进制数可以表示(2=)2种状态:0、1;而2位二进制数可以表示(2=)4种状态:00、01、10、11;依次类推,7位二进制数可以表示(2=)128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0~127。所以,7位ASCII码.. 阅读全文
posted @ 2011-10-19 17:38 BobLiu 阅读(3232) 评论(0) 推荐(1) 编辑
如何识别 SQL Server 的版本
摘要:运行下面sql:SELECT SERVERPROPERTY('productversion')、SERVERPROPERTY ('productlevel')、SERVERPROPERTY ('edition')参考: 如何识别 SQL Server 的版本http://support.microsoft.com/kb/321185/zh-cn 阅读全文
posted @ 2011-10-19 11:29 BobLiu 阅读(270) 评论(0) 推荐(0) 编辑
内存地址空间与十六进制,为什么需要八进制和十六进制? 十六进制的意义何在?
摘要:众所周知, 内存地址空间是用16进制的数据表示, 如0x8049324, 那为什么需要用十六进制表示呢? 十六进制的意义何在?编程中,我们常用的还是10进制.毕竟C/C++是高级语言。 比如:int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决 问题。但二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是: 0000 0000 0000 0000 0110 0100 面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++ 没有提供在代码直接写二进制... 阅读全文
posted @ 2011-10-17 17:20 BobLiu 阅读(10932) 评论(1) 推荐(1) 编辑
关于 FROM a,b where a.id=b.id和 a LEFT JOIN b on a.id=b.id的区别
摘要:关于 FROM a,b where a.id=b.id和 a LEFT JOIN b on a.id=b.id的区别两者是等价的, 前者是隐式的内连接.一般用后者, sql语句看起来清晰一些.明确队隐含的SQL联接 http://zh-cn.w3support.net/index.php?db=so&id=44917SQL: difference between inner and outer joinhttp://stackoverflow.com/questions/38549/sql-difference-between-inner-and-outer-join 阅读全文
posted @ 2011-10-14 15:56 BobLiu 阅读(546) 评论(0) 推荐(0) 编辑
用反射简化 asp.net 报表的一点总结
摘要:有几个报表, 查询条件都一样,仅仅里面GridView中有几个列区别,以前图快,就把原来Report.aspx文件拷贝一份,改名为Report1.aspx,然后,修改里面的column,然后再由后台库查出数据,填充到这个report中来。今天终于不耐烦了,这个方法确实太笨了,改一改,方案如下:1.创建一个IReport的接口,所有的report都实现这个接口。 public interface IReport { // 该report所有可用列集合(每一次查询不一定全部显示) Dictionary<string, string> DictColMapping { get; } // 阅读全文
posted @ 2011-10-13 18:06 BobLiu 阅读(260) 评论(0) 推荐(0) 编辑
DataControlField不能创建, 为什么?
摘要:因为DataControlField 类是抽象的,所以无法直接创建,要用其派生类来创建。它的派生类有:BoundFieldButtonFieldCheckBoxFieldCommandFieldHyperLinkFieldImageFieldTemplateField代码:BoundField field = new BoundField();field.HeaderText = "标题";field.DataField = "Title";GridView1.Columns.Add(field);这样就为 GridView 动态添加一列了。 阅读全文
posted @ 2011-10-12 16:53 BobLiu 阅读(417) 评论(0) 推荐(0) 编辑
C# 接口可以有字段field吗?
摘要:代码如下:interface Interface1{ string name; void ttt();}编译会抱错:Interfaces cannot contain fields.可见,c#接口里不能有字段field。那这种需求如何解决呢? 查一下msdn即知接口可以包含的成员如下:Methods Properties Indexers Events 也就是说,c#可以有属性,它是字段的安全升级版。代码如下,仅仅在name后加个大括号,敲进去get,set之一即可。interface Interface1{ string name { get; } void ttt();}在实现这个接口的类 阅读全文
posted @ 2011-10-12 14:39 BobLiu 阅读(5433) 评论(1) 推荐(0) 编辑
.Net 类构造函数可以加返回值吗?如void.
摘要:.Net 类构造函数可以加返回值吗?如void.代码如下: public class ReportColumn { public string ColumnDataField { set; get; } public string ColumnHeaderText { set; get; } public string ColumnSortExpression { set; get; } public int ColumnIndex { set; get; } public void ReportColumn(string _ColumnDataField, string _ColumnHea 阅读全文
posted @ 2011-10-12 14:15 BobLiu 阅读(1689) 评论(2) 推荐(0) 编辑
SQL Server 2008数据库的一些基本概念
摘要:以前总是没弄明白这些基本概念,现在整理如下:1.区: 区是SQL Server 中管理空间的基本单位。一个区是八个物理上连续的页(即 64 KB),所有页都存储在区中, 这意味着 SQL Server 数据库中每 MB 有 16 个区。一旦一个区段已满, 下一条数据Sql server将分配一个区段空间, 防止每次添加都要分配空间.2.页(Page): 页是SQL Server 中数据存储的基本单位, 它是区段的分配单元, 一页8K, 它下面就是数据行了, 但每页的行数不定, 这取决于数据行的大小.数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间可以从逻辑上划分成页(从 0 到 n 阅读全文
posted @ 2011-10-11 15:29 BobLiu 阅读(2058) 评论(0) 推荐(0) 编辑
SQL Server 2008 创建索引视图(物化视图) 的一点总结
摘要:SQL Server 2008 的索引视图似乎只能通过sql命令的方式创建, 暂未找到可视化创建的办法, 有谁知道吗?要点:1.必须要加上WITH SCHEMABINDING, 就是绑定到架构.2.创建完视图后, 必须紧跟着创建一个CLUSTERED聚集唯一索引.3.只支持两部分命名的表或UDF, 如dbo.SalesOrder.4.涉及到多个表连接时, 不支持left join 或inner join的写法, 只能用from...where的方式或inner join的方式连接. (这一点有时很要命, 如果join多个表, 而这些表又不能都用inner join的方式时.)5.不支持tabl 阅读全文
posted @ 2011-10-10 16:18 BobLiu 阅读(22824) 评论(6) 推荐(4) 编辑
关于 "7625: 全文表或全文索引视图在其全文索引列中有多个 LCID" 问题的解决办法。
摘要:SQL server 全文检索使用中有时会遇到下面这个错误:7625: 全文表或全文索引视图在其全文索引列中有多个 LCID。English translation: Full-text table or indexed view has more than one LCID among its full-text indexed columns.见外国一帖子, 忘记链接了,照抄如下:It seems that in your full-text query are querying more than one column and one of the columns is using a 阅读全文
posted @ 2011-10-09 15:49 BobLiu 阅读(937) 评论(0) 推荐(0) 编辑
SQL Server 2008 全文搜索的一些知识
摘要:一. 看了几篇不错的帖子, SQL Server 2008 Full-Text Search Overview(SQL Server 2008全文检索概览)http://www.cnblogs.com/galaxyyao/archive/2009/02/13/1390139.html全文索引 http://www.cnblogs.com/liulun/articles/1368655.html先照抄一段:Q:为什么要Full-text search(全文检索)?A:因为对文字的查询速度慢(不建议在文字上建索引也就是这个道理)Q:和2005有区别么?A;当然有区别,名字前都加了个integrat 阅读全文
posted @ 2011-10-08 18:01 BobLiu 阅读(4536) 评论(0) 推荐(0) 编辑


点击右上角即可分享
微信分享提示