2012年12月29日

SQL中使用WITH AS提高性能

摘要: 1. 案例起因 公司门店应用程序每天都要出一份报表,用来统计所有商品当天的期初库存数量、入库数量、出库数量 及当天的期末库存数量。运行半年以后,这份报表运行越来越慢,到现在,每次运行该报表显示当天数据时需要近20秒的时间。于是开发人员找到我,希望我看看,是不是可以使该报表运行的时间更短。 该报表就是一段SQL语句,主要由三部分组成,第一部分是计算每个商品的期初数量,第二部分是计算每个商品的当天发生(包括入库和出库的)数量,第三部分是计算每个商品的期末数量,也就是当天的余额。每个部分使用UNION ALL连接起来。 我看到该报表,第一个感觉就是这段SQL里的每个部分都要对表进行扫描,明显... 阅读全文

posted @ 2012-12-29 21:12 szqizh 阅读(237) 评论(0) 推荐(0) 编辑

请教按周统计产量的sql语句写法

摘要: 例如:原始表字段是:产品ID,入库日期,入库数量参数是开始日期、结束日期,日期是年月日需要写成的报表如下:产品ID,第一周数量,第二周数量,……合计A 100 150…… ?B 30 40 …… ?…… …… …… ……create table #temp( GoodsID nvarchar(10), date datetime, amount int)drop table #tempinsert into #temp select 'A','2010-08-02',200insert into #temp... 阅读全文

posted @ 2012-12-29 17:57 szqizh 阅读(344) 评论(0) 推荐(0) 编辑

SQLServer的本月统计和本周统计

摘要: 本月统计(MySQL)select * from booking where month(booking_time) = month(curdate()) and year(booking_time) = year(curdate())本周统计(MySQL)select * from spf_booking where month(booking_time) = month(curdate()) and week(booking_time) = week(curdate())[SQLServer]表名为:tableName 时间字段名为:theDate 查询本月的记录 select * fro 阅读全文

posted @ 2012-12-29 17:54 szqizh 阅读(224) 评论(0) 推荐(0) 编辑

存储过程生成所有实体类

摘要: set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgocreate proc [dbo].[p_db_wsp]@dbname varchar(50), --数据库名@path varchar(100), --实体类所在目录名,如D:/My/Models@namespace varchar(50) --实体类命名空间,默认值为Modelsas--判断数据库是否存在if(db_id(@dbname)is not null)beginif(isnull(@namespace,'')='')set @namespace='Mode 阅读全文

posted @ 2012-12-29 17:51 szqizh 阅读(177) 评论(0) 推荐(0) 编辑

2012年10月17日

正则 实现等长度的分割字符串

摘要: 需求是,有一任意长度的字符串,要将其按每四个1组的等长度分割成一数组 实现过程是这样的:voidMain(){stringstr="afdsafasdfaaafddabadsdfdfd";vartemp=Regex.Split(str,@"(?<=\G.{4})(?!$)");temp.ToList().ForEach(t=>Console.WriteLine(t));/*afdsafasdfaaafddabadsdfdfd*/}现在需求变了:02004019,07000778,IV00258,CM2321,EX02557,VA901PI,J 阅读全文

posted @ 2012-10-17 22:14 szqizh 阅读(290) 评论(0) 推荐(0) 编辑

WinForm下窗体权限设计

摘要: 一、 描述管理员通过控制窗体中的某个控件的Enable和visable来达到应用程序的权限控制二、 设计思路(一) 读取控件将menustrip菜单选项绑定到treeview中,根据菜单选项的名称跟窗体名称相等,去遍历出窗体中的所有form、tabctrol、button、toolstripbutton、等,结果如下(二) 保存控件将treeview中显示的控件id跟控件名称一起存入数据库,同时设置控件的可用状态,默认都可用。(三) 将权限应用到具体窗体中三、 数据库的设计四、 关键部位的实现1) 读取控件的难点怎么样遍历到应用程序的所有窗体,这里使用了net的反射()具体方法如下1) Tra 阅读全文

posted @ 2012-10-17 10:19 szqizh 阅读(235) 评论(0) 推荐(0) 编辑

WinForm中通过反射遍历程序中的窗体及窗体上的控件

摘要: private void button1_Click(object sender, EventArgs e) { treeView1.Nodes.Clear(); Assembly a = Assembly.LoadFile(Application.ExecutablePath); Type[] types = a.GetTypes(); foreach (Type t in types) { if (t.BaseType.Name == "Form") //遍历窗体 { Form f = (Form)Activator.CreateInstance(t, true); i 阅读全文

posted @ 2012-10-17 10:12 szqizh 阅读(428) 评论(0) 推荐(0) 编辑

一条SQL语句取出第 m 条到第 n 条记录的方法

摘要: --从Table表中取出第m条到第n条的记录:(NotIn版本)SELECTTOPn-m+1*FROMTableWHERE(idNOTIN(SELECTTOPm-1idFROMTable))--从TABLE表中取出第m到n条记录(Exists版本)SELECTTOPn-m+1*FROMTABLEASaWHERENotExists(Select*From(SelectTopm-1*FromTABLEorderbyid)bWhereb.id=a.id)Orderbyid--m为上标,n为下标,例如取出第8到12条记录,m=8,n=12,Table为表名,Temp为临时表SelectTopn-m+1 阅读全文

posted @ 2012-10-17 10:11 szqizh 阅读(134) 评论(0) 推荐(0) 编辑

导航