AhDung

/*追求代码质量的野生码农*/

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 5 6 7 8 9 10 11 下一页

2014年5月14日

摘要: ---------------------------更新:2014-05-19---------------------------优化了一下逻辑,就是既然可以通过设置BorderSide=None来不显示边框,那么再设计一个BorderMode.None就显得多余,即BorderMode枚举只需... 阅读全文
posted @ 2014-05-14 17:31 ahdung 阅读(10153) 评论(4) 推荐(6) 编辑

2014年4月10日

摘要: 先解释一下何谓“划算”:假定一个Winform程序包含若干个窗体,每个窗体左上角都要显示图标(即要设置Form.Icon属性),该程序本身也要有个图标(用于在OS资源管理器中显示),所有这些图标都是一个样子——这是一种很常见的情形。如图:即同一个图标要用在程序本身和程序中的各个窗体之上。那么所谓“划算”就是指,在程序文件(exe)中只存储1份图标数据,所有要用到该图标的地方都从这里取。而不是存储多份,各取各的,因为这样显然会增大程序体积,很不“划算”。之所以有这个话题,是因为如果不注意操作技巧,就会造成同一个图标存储多份的情况,VS和编译器并没有智能到会帮我们自动清除冗余资源的地步。那么如何才 阅读全文
posted @ 2014-04-10 18:11 ahdung 阅读(2356) 评论(1) 推荐(2) 编辑

2014年3月25日

摘要: 功能与.net版string.Split函数类似,只不过.net返回的是数组,这个返回的是一个单列表格,每个拆分出来的子串占一行。可选是否移除空格子串和重复项。市面上类似的函数不算少,但大多都是在循环中对原串进行改动,我感觉这样不好,虽然不知道sql的字符串是不是像.net的一样具有不可变性,但感觉尽量不要去动原串最好,万一sql的字串也不可变,那变一次就要产生一份,尤其是每圈循环都在变,内存消耗让人心疼,所以才有重新造个轮子的想法。另外,如果SQL开启了CLR支持,完全可以封装一个.net的Split到SQL里用,这样最简单,性能也应该更好(猜测)。不废话,上函数:/*----------- 阅读全文
posted @ 2014-03-25 11:53 ahdung 阅读(4699) 评论(3) 推荐(0) 编辑

2014年3月24日

摘要: ----------------更新:2014-04-21---------------蒙doggo兄指教,得知有更好的方法可以代替蹩脚的0尺寸Button法,即调用窗体的验证方法Form.Validate(),该方会触发窗体中焦点控件的Validating事件以验证数据,达到与0尺寸Button法... 阅读全文
posted @ 2014-03-24 12:07 ahdung 阅读(2468) 评论(4) 推荐(1) 编辑

2014年3月8日

摘要: 回调方法中几乎都会存在获取委托实例的需求,进而通过委托实例调用EndInvoke以得到异步执行的返回值。在我看过的相关文章中,获取委托实例的方法几乎都是同一个,就是向BeginInvoke的最后一个参数(object型)传入委托实例,然后在回调方法中通过ar.AsyncState得到,甚至在《C#高级编程》一书中,还特地讲到最后这个object参数最适合传入委托实例本身,以便回调方法中获取到它。直到看了张子阳的《.Net之美》一书后(似有广告之嫌,但事实如此,我也就不避讳了),新学到一招,不需要传参,直接就能从ar得到委托实例。如下: ...... DemoDelegate del... 阅读全文
posted @ 2014-03-08 17:22 ahdung 阅读(1096) 评论(0) 推荐(1) 编辑

2014年1月28日

摘要: 环境:mssql ent 2k8 r2原理:遍历所有含自增列的用户表,用sp_spaceused过程分别获取每张表的行数并写入临时表,然后使用IDENT_CURRENT函数获取表的最大标识值,比较二者并返回结果IF OBJECT_ID('tempdb..#TableRowCount','U') IS NOT NULL DROP TABLE #TableRowCountGOCREATE TABLE #TableRowCount (Name sysname PRIMARY KEY, RowCnt DECIMAL(11,0), Reserved VARCHAR(18) 阅读全文
posted @ 2014-01-28 17:01 ahdung 阅读(307) 评论(0) 推荐(0) 编辑

摘要: 环境:mssql ent 2k8 r2原理:遍历所有用户表,用sp_spaceused过程分别获取每张表的行数并写入临时表,最后返回临时表IF OBJECT_ID('tempdb..#TableRowCount','U') IS NOT NULL DROP TABLE #TableRowCountGOCREATE TABLE #TableRowCount (Name sysname PRIMARY KEY, RowCnt DECIMAL(11,0), Reserved VARCHAR(18), Data VARCHAR(18), Index_Size VARCH 阅读全文
posted @ 2014-01-28 16:51 ahdung 阅读(1749) 评论(0) 推荐(0) 编辑

2013年12月26日

摘要: SQL中有LTRIM和RTRIM这两个函数分别用于去除字符串的首、尾空格,缺乏常见的能同时去除首尾的TRIM函数,另外,这俩函数都只对【空格】有效,所以如果首尾是制表符、换行符等等【空白】,它们是不处理的~起码到sql 2k8 r2仍然如此。鉴于此,我写了个靠谱的TRIM函数,上代码:/*---------------------函数:去除头尾空白v0.01Author:AhDungUpdate:201311301716Rem:由于LEN不统计尾随空格,所以做特别处理---------------------*/ALTER FUNCTION dbo.Trim(@s VARCHAR(7999)) 阅读全文
posted @ 2013-12-26 15:18 ahdung 阅读(1362) 评论(0) 推荐(0) 编辑

2013年8月9日

摘要: 我时不时会遭遇这个操蛋问题,今天得闲研究了一下,解决如下:A、将窗体FormBorderStyle属性改为Fixed系,当然这会导致用户不能拖拉窗口大小,所以你可能需要B计划↓B、确保在【VS】中的【窗体】的Size.Width >= MinimumSize.Width + 8。如图:是的,只有下面大过上面至少8个像素,才是理想效果,至于为什么,没深究,大概可能跟NT6的Aero界面,边框大于XP有关。 阅读全文
posted @ 2013-08-09 18:24 ahdung 阅读(1064) 评论(2) 推荐(0) 编辑

2013年7月27日

摘要: 这条语句:b ? "aaa" : "bbb" + "ccc";会解释为:b ? "aaa" : ("bbb" + "ccc");而不是:(b ? "aaa" : "bbb") + "ccc";所以喜欢用?:句式拼字串的猿友们得注意这个规则。详情参见:http://msdn.microsoft.com/zh-cn/library/ty67wk28(v=vs.90).aspx 阅读全文
posted @ 2013-07-27 14:53 ahdung 阅读(466) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 下一页