一旦我们装了sqlserver2008 R2,将会见自行安装一个表开发工具

1、Regex.Matches(s, @”[A-Za-z0-9][A-Za-z0-9’\-.]*”).Count
(英文单词连词算一个单词)

图片 1

Regex.Matches(s, @”[A-Za-z0-9][A-Za-z0-9\-.]*”).Count
(英文单词连词不算是一个单词)

甭以为是报表开发工具只称为sqlserver2008,其实在sqlserver2012中吗是支撑之,事实上我现种中尽管是用的sqlserver2012。

2、           string[] str=FilterHtml(content).Split(“~!@#$%^&*()_+-=`|\\:\”?><;’,./ “.ToCharArray());

使用此工具进行报表开发,将会晤充分速又方便。这里自己透过一个归纳实例来演示其的施用技术,可以毫无夸张的说,如果您可知动用是工具把这个Demo做出来,那么工作着遇的80%表格,你还能够利用此工具进行开了。

                int i=0;

事先来拘禁下我们只要促成之法力:

                foreach (string s in str)

图片 2

                {

 

                    if (s.Length == 0)

表被使用到的表及字段:

                        i++;

[sql] view
plaincopy图片 3图片 4

                }

  1. –table 用水水量:hx_t_waterusedamount  
  2. –字段 开户信息:hx_fcustomerandmeterrelaid 主键:hx_t_WaterUsedAmountId  水表:hx_fmeterid 区段:hx_fzone 实用水量:hx_famount   
  3. –估水原因:hx_festimateamountreason  结算水量:hx_fpayamount  
  4. –抄表类型hx_frecordtype (估水:,000,001 未抄见:100,000,002 正常:100,000,000 预付费卡表估水:100,000,003)   
  5. –水量状态:hx_fstate(计划:100,000,000,已录入水量:100,000,001,等待录入金额:100,000,002,已成形应收:100,000,006,等待审核:100,000,004)   
  6. <span style=”font-family:宋体;”>–</span>本次抄表止度:hx_freading  
  7. –用和秋:hx_fyear  用水月份:hx_fmonth 次:hx_FTimes   
  8. –本次抄表时间:hx_frecorddate  预计水费:hx_fprepayment 预计代收费:hx_fpreproxypayment  
  9.   
  10. –table 用水类别hx_t_watercategory  
  11. –field 统计一近乎:hx_fstatcategoryoneid 主键:hx_t_watercategoryid 名称:hx_fname  
  12.   
  13. –table 用水性质hx_t_waterproperty  
  14. –field 主键:hx_t_waterpropertyid 用水类别:hx_fwatercategoryid  
  15.   
  16. –table 抄表班组归属hx_t_teamattribution  
  17. –字段主键:hx_t_teamattributionid 抄表班组信息:hx_fteamid 征费所信息:hx_flevyinstituteid  

                count = str.Length – i;

吓了,现在专业启幕

其中第2种植方法的欠缺不克统计数字字数 比如123.456外会当半独单词,以上措施就适用英文字数统计

于效用图者可以看到,此报表,我们下及了区区摆表来展示,而且这里是以到了一定量只数据集,但是她们之查询条件是一模一样的。

3、Regex.Matches(txtContent.Text, @”[\W]+”).Count 汉语字数

咱们先行来拘禁上面那张表的来得

Regex.Matches(strContent, @”[0-9][0-9’\-.]*”).Count 数字字数

 图片 5

中文字数统计:

我们来拘禁SQL:

    public static int ChineseLetterCount(string strText)

[sql] view
plaincopy图片 6图片 7

    {

  1. declare @begin_date datetime  
  2. declare @end_date datetime  
  3. select @begin_date = getdate()  
  4.   
  5. declare @BusinessunitId uniqueidentifier –征费所  
  6. –set @BusinessunitId=’6A2537DD-B87A-E411-93FE-002590622897′ —-第十五收款所  
  7. DECLARE @TeamId uniqueidentifier –抄表班组  
  8. –SET @TeamId=’18ACBD81-5B45-E411-9402-6CAE8B22702D’ –第十五收费所(零散查表组)  
  9. DECLARE @StarDate datetime  
  10. DECLARE @EndDate datetime  
  11. SET @StarDate =  convert(datetime,’2015-01-15 00:00:00′,20)  
  12. SET @EndDate = convert(datetime,’2015-01-25 23:59:59′,20)  
  13. DECLARE @sHMS nvarchar(10)  
  14. DECLARE @eHMS nvarchar(10)  
  15. SET @sHMS=’00:00:00′;  
  16. SET @eHMS=’23:59:59′;  
  17. DECLARE @ZoneNO varchar(30)  
  18.   
  19. —————–SQL刚好文———————————————————-执行时间:  
  20. DECLARE @strSDate nvarchar(50),@strEDate nvarchar(50)  
  21. DECLARE @StartDateTime datetime,@EndDateTime datetime  
  22. SET @strSDate=CONVERT(varchar, @StarDate, 23)+’ ‘+@sHMS  
  23. SET @strEDate=CONVERT(varchar, @EndDate, 23)+’ ‘+@eHMS  
  24. SET @StartDateTime=convert(datetime,@strSDate,20)  
  25. SET @EndDateTime=convert(datetime,@strEDate,20)  
  26. ————————————-上面的表————————————————-  
  27. select   
  28. 1 WaterMeterCount, –表数  
  29. w.hx_fpayamount, –水量  
  30. w.hx_fprepayment,–预计水费  
  31. w.hx_fpreproxypayment,–预计代收费  
  32. c.hx_fname –用和色  
  33.  from   
  34. hx_t_waterusedamount w –水量  
  35. INNER JOIN hx_t_teamattribution n –抄表班组归属  
  36.     ON w.OwningTeam=n.hx_fteamid  
  37. AND isnull(w.hx_fzone,”) = isnull(isnull(@ZoneNO,w.hx_fzone),”)   
  38. AND isnull(w.OwningTeam,’00000000-0000-0000-0000-000000000000′) = isnull(isnull(@TeamId,w.OwningTeam),’00000000-0000-0000-0000-000000000000′)   
  39. AND w.hx_fpayamount>0 –结算水量  
  40. AND w.hx_frecorddate BETWEEN @StartDateTime AND @EndDateTime   
  41. AND isnull(n.hx_flevyinstituteid,’00000000-0000-0000-0000-000000000000′) = isnull(isnull(@BusinessunitId,n.hx_flevyinstituteid),  
  42. ‘00000000-0000-0000-0000-000000000000’)   
  43. LEFT JOIN hx_t_waterproperty p –用和特性  
  44. on w.hx_FWaterPropertyID=p.hx_t_WaterPropertyId  
  45. LEFT JOIN hx_t_watercategory c –用和类  
  46. on p.hx_FWaterCategoryID=c.hx_t_WaterCategoryId  
  47.   
  48. —————–END—————————————————————————-  
  49. select @end_date = getdate()  
  50. select datediff(ms,@begin_date,@end_date) as ‘用时/毫秒’  

        byte[] byts = System.Text.Encoding.GetEncoding(“gb2312”).GetBytes(strText);

行结果如下:

 

图片 8

        return byts.Length – strText.Length;

好望这是那个泛的纵表变横表了,如果下纯sql来促成转移职能的说话,就时有发生得勾一连串复杂的sql语句了,但是经过利用这报表开发工具,我们得一蹴而就的拿其纵向显示结果成横向显示结果。

    }

操作步骤如下:

如上都是看似统计

1、打开这个报表开发工具,文件——新建——项目

 英文字数统计已坏标准了,中文字数统计误差有接触异常,还有待改进

图片 9

只是我以举行对比测试的觉察word2010统计出一点bug:

2、右键单击右侧解决方案遭之表目录,然后径直下一样步,

伸手圈之下测试用例:

图片 10

“I looked at it and said, ‘We’ll be back in a few days,’ ” Byron Largent said of the china. (word2010里字数统计为20)

图片 11

倘若自我勾勒的正则统计吗19非亮堂哪个对谁错

图片 12图片 13

瞩目:连词算一个勿到底少只哦,那看来微软吧连歌词不到底一个单词

而考虑到矩阵的界面配置好为反锁,这里我们先选择表格吧,然后径直点击下一样步,直到完成

 

图片 14

1、把界面上面的表格删掉,然后从左边工具栏拖入一个矩阵,

图片 15

当选“数据”单元格,右键——插入行——组内部——下方,添加4行,然后右键——插入列——组外部(因为一旦统计合计)

图片 16

列这个地方,选择hx_fname这个字段,从sql中可见见hx_fname这个字段是我们要更换为横表展示的字段,然后数据这里,选中要聚的字段。

右侧报表数量,

图片 17

此地自动生成了成百上千参数,这些参数是坐我们刚才添加之SQL语句里面用到了,注意看名称,和我们才声明的SQL语句是平等的。

当选属性,右键单击,可以查参数的配置信息

这些事物大家多夺点一下,自然就是熟悉了,涉及的东西最好多矣,我一下呢说非了事。

此出少独参数是生级联关系的,我便先行说生

图片 18

我们来拘禁下就片个参数的布置,这有限单参数还是以下拉绳的款型显得的,而且值都是得到自数据库中。

事先看参数:BusinessunitId

图片 19图片 20

夫数额集哪里来的?我们可协调长

图片 21图片 22

再次来拘禁下参数:TeamId

图片 23图片 24图片 25图片 26

右键单击空白处——创建占位符

图片 27图片 28图片 29图片 30图片 31

 

批量改得直接通过此展开改动,

否则,只能一个文本框一个文书框属性进行改动了。#意味着本细分个显示,后面的数字代码保留小数位数,0代表整数

数量/水量:#,0

单价:0.00

金额:#,0.00

表中下面那个程序集的操作看似,这里就未多说了,东西最多了。

图片 32

SQL如下:

[sql] view
plaincopy图片 33图片 34

  1. —————-SQL刚好文———————————————————-执行时间:  
  2. DECLARE @strSDate nvarchar(50),@strEDate nvarchar(50)  
  3. DECLARE @StartDateTime datetime,@EndDateTime datetime  
  4. SET @strSDate=CONVERT(varchar, @StarDate, 23)+’ ‘+@sHMS  
  5. SET @strEDate=CONVERT(varchar, @EndDate, 23)+’ ‘+@eHMS  
  6. SET @StartDateTime=convert(datetime,@strSDate,20)  
  7. SET @EndDateTime=convert(datetime,@strEDate,20)  
  8. ———————————-下面的表——————————————————  
  9. if object_id(‘tempdb..#t_estimateamountreason’) is not null drop table #t_estimateamountreason  
  10.   
  11. select * into #t_estimateamountreason from     
  12. (select distinct t1.Label,t2.Value from MetadataSchema.LocalizedLabel t1     
  13. inner join MetadataSchema.AttributePicklistValue t2    
  14.  on t1.ObjectId=t2.AttributePicklistValueId inner join MetadataSchema.OptionSet t3 on t2.OptionSetId=t3.OptionSetId     
  15.  where t3.Name=’hx_estimateamountreason_values’ and t1.ObjectColumnName=’DisplayName’ and t1.LanguageId=2052) t  
  16. –select * from #t_estimateamountreason   
  17.    
  18. select  
  19. 1 MeterCounts, –水表块数  
  20. isnull(e.Label,’其它’) ReasonName  –估水原因名称  
  21. from hx_t_waterusedamount w –水量   
  22. INNER JOIN hx_t_teamattribution n  –抄表班组归属  
  23.     ON w.OwningTeam=n.hx_fteamid   
  24. AND isnull(w.hx_fzone,”) = isnull(isnull(@ZoneNO,w.hx_fzone),”)   
  25. AND isnull(w.OwningTeam,’00000000-0000-0000-0000-000000000000′) = isnull(isnull(@TeamId,w.OwningTeam),’00000000-0000-0000-0000-000000000000′)   
  26. AND w.hx_fpayamount=0 –结算水量  
  27. AND w.hx_frecorddate BETWEEN @StartDateTime AND @EndDateTime   
  28. AND isnull(n.hx_flevyinstituteid,’00000000-0000-0000-0000-000000000000′) = isnull(isnull(@BusinessunitId,n.hx_flevyinstituteid),  
  29. ‘00000000-0000-0000-0000-000000000000’)    
  30. LEFT JOIN #t_estimateamountreason e –估水原因   
  31.     ON e.Value=w.hx_festimateamountreason     
  32.       
  33. UNION ALL    
  34. select 1 MeterCounts,e.Label ReasonName from #t_estimateamountreason e   
  35.     
  36.  if object_id(‘tempdb..#t_estimateamountreason’) is not null drop table #t_estimateamountreason  
  37. —————-END—————————————————————————-