昊仔

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年6月9日

摘要: 一个我写的实例:其中多表连接,一共连接了3个表。使用聚集函数SUM,用到了GROUP BYSELECT a.[UserID],b.[Name],sum (c.[Money]+c.[Bank])as TotalMoneyFROM Table1 a(nolock) LEFTJOIN Table2 b(nolock) on a.[UserID]= b.[UserID] LEFTJOIN Table3 c(nolock) ON b.[UserID]=c.[UserID] WHERE a.[UserID]= b.[UserID]and a.[UserID]= c.[UserID]and a.[Time] 阅读全文
posted @ 2013-06-09 13:33 昊仔 阅读(147) 评论(0) 推荐(0) 编辑

2013年6月8日

摘要: 今天在做会员管理系统搜索时,我发现以前的搜索时间方式不太科学,效率也不是太高.由其是在查询指定的时间相等的时候,我在数据库中都存这样的时间格式"2007-5-22 14:32:12"当我们在查询2007-5-22是否与它相等,结果是不相等的.所我们都喜欢找其它途径来解决这个问题。但是我发现我们的方法都不是太好,因为我们有的时候对sql sever的语句特性还了解的不够彻底。所以我查询了查sql server有帮助,终于发现个好东西,可以解决这个问题.CONVERT 函数,可以解决这个问题,能将2007-5-22 14:32:12这样的时间在查询或where 子句中格式化为: 阅读全文
posted @ 2013-06-08 12:51 昊仔 阅读(3549) 评论(0) 推荐(0) 编辑

摘要: System.Threading.Timer是一个简单的轻量计时器,它使用回调方法并由线程池线程提供服务。在必须更新用户界面的情况下,建议不要使用该计时器,因为它的回调不在用户界面线程上发生。在此类情况下,System.Windows.Threading.DispatcherTimer是更好的选择,因为其事件是在用户界面线程上引发的。多线程计时器1:System.Threading.Timer2:System.Timers.Timer特殊目的的单线程计时器:1:System.Windows.Forms.Timer(Windows Forms Timer)2:System.Windows.Thr 阅读全文
posted @ 2013-06-08 10:44 昊仔 阅读(1095) 评论(0) 推荐(0) 编辑

摘要: 如何使用Application.DoEvents() 和 多线程?首先将以下代码放到Button事件里面:private void btnStart_Click(object sender, EventArgs e){for (int q = 0; q < 100000; q++){textBox1.Text = q.ToString();}}你会发现当点击Start按钮后,循环会一直进行,此时窗体会出现假死的状态,如:无法拖动。直到循环结束,textBox1中才会显示出结果。如何解决窗体的假死状态??修改以上代码如下:private void btnStart_Click(object 阅读全文
posted @ 2013-06-08 10:42 昊仔 阅读(512) 评论(0) 推荐(0) 编辑

摘要: 1:安装后,Resharper会用他自己的英文智能提示,替换掉 vs2010的智能提示,所以我们要换回到vs2010的智能提示2:快捷键。是使用vs2010的快捷键还是使用 Resharper的快捷键呢?我是使用re的快捷键3:esharper安装后,会做几件事情,这几件事情对于除此使用者,比较麻烦,因此归纳总结一下,以资参考。(1)、会将选项——文本编辑器——C#——常规——自动列出成员 这个选择框的勾选去掉。这样当你使用某个方法的时候,便不会提示参数,是一个很郁闷的事情。可以手动勾上。(2)、会将选项——文本编辑器——C#——高级——显示实时语义错误、在编辑中用下划线标识错误这两个选项去掉 阅读全文
posted @ 2013-06-08 08:30 昊仔 阅读(197) 评论(0) 推荐(0) 编辑

摘要: 如有转载,请注明出处: http://www.cnblogs.com/flydoos/archive/2012/01/26/2329536.htmlDotfuscator Professional Edition 4.9.7500.9484 破解版+使用教程(.NET混淆工具)关于Dotfuscator,VS自带了一个社区版的源代码保护工具,不过它只有基本的混淆命名的功能。专业版功能很多,可以混淆流程,密字符串,加入水印,程序签名等~~下面我将对专业版做一些基本的使用介绍,本人对这款工具也不太熟悉,因为之前我一直用 Eazfuscator.NET ,这是一款免费的开源混淆工具。截图为主,不说废 阅读全文
posted @ 2013-06-08 08:17 昊仔 阅读(579) 评论(0) 推荐(0) 编辑

2013年6月4日

摘要: 什么是数据库事务 数据库事务是指作为单个逻辑工作单元执行的一系列操作。 设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作: · 更新客户所购商品的库存信息 · 保存客户付款信息--可能包括与银行系统的交互 · 生成订单并且保存到数据库中 · 更新用户相关信息,例如购物数量等等 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变 阅读全文
posted @ 2013-06-04 14:14 昊仔 阅读(306) 评论(0) 推荐(0) 编辑

摘要: “/”应用程序中的服务器错误。用户 'www.jianzhiba.net' 登录失败。原因: 该帐户的密码必须更改。说明:执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.Data.SqlClient.SqlException: 用户 'www.jianzhiba.net' 登录失败。原因: 该帐户的密码必须更改。源错误:执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。堆栈跟踪:[SqlException: 阅读全文
posted @ 2013-06-04 11:50 昊仔 阅读(814) 评论(0) 推荐(0) 编辑

摘要: ROW_NUMBER() OVER函数的基本用法用法转自:http://www.cnblogs.com/icebutterfly/archive/2009/08/05/1539657.html语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。 示例: xlh row_num 1700 1 1500 2 1085 3 7 阅读全文
posted @ 2013-06-04 09:10 昊仔 阅读(204) 评论(0) 推荐(0) 编辑

摘要: ADO.NET提供以下两个对象,用于检索关系数据并将其存储在内存中:DataSet和DataReader。DataSet提供一个内存中数据的关系表示形式,一整套包括一些表在内的数据(这些表包含数据、对数据进行排序并约束数据),以及表之间的关系。DataReader提供一个来自数据库的快速、仅向前、只读数据流。 当使用DataSet时,经常会利用DataAdapter(也可能是CommandBuilder)与数据源进行交互。当使用DataSet时,也可以利用DataView对DataSet中的数据应用排序和筛选。也可以从DataSet继承,创建强类型DataSet,用于将表、行和列作为强类型对象 阅读全文
posted @ 2013-06-04 09:07 昊仔 阅读(312) 评论(0) 推荐(0) 编辑