Jela

唯风唯美

统计

常用链接

阅读排行榜

评论排行榜

2011年7月2日 #

where id in 排序 按in的顺序排

Access:
select * From 表 Where id in(1,5,3) order by instr(',1,5,3,',','&id&',')

MSSQL:
select * From 表 Where id in(1,5,3) order by charindex(','+rtrim(cast(id as varchar(10)))+',',',1,5,3,')

MySQL:
select * From 表 Where id in (1,5,3) order by instr(',1,5,3,',',CONCAT(',',id,','))

posted @ 2011-07-02 11:15 Jela 阅读(52) 评论(0) 编辑

2011年1月20日 #

数据库字段为ntext时nhibernate配置文件不对导致页面修改后的数据无法得到

最近又遇一奇怪问题

为产品加入产品描述内容,包括英语、法语等6门语言的描述,而且需要可视化编辑用以网页展示。

当然,首选ckeditor,一个面页放6个ekeditor。

但马上发现问题,有的框能取到值,有的取不到,很容易想到是不是ckeditor这控件一下加载6个太多了导致的问题,后来改为点击文字后再加载,想想这样应该不会有这问题了吧。

但很快,多次测试后,还是有的值能取到有的不能,我测试的时候竟然发现每次输入hi ok这些简单的单词提交没问题,我以为是ckeditor检查拼字的原因,

于是其修改config.js文件:

  config.disableNativeSpellChecker = false;
    config.scayt_autoStartup = false;

但问题如故!

又是一番上网查资料、不停的测试找规律。

测试发现,输入简短单词没问题,长了出问题,我猛然想到是否是hbm配置文件错了(orm都是用codesmith自动生成的),

果然,配置是这样的:

<property name="Description" type="String">
   <column name="Description" length="16" sql-type="ntext" not-null="false"/>
</property>

而持久层文件如下:

virtual public string Description
{
 get { return _description; }
 set
 {
        if (value != null && value.Length > 16)
            throw new ArgumentOutOfRangeException("Invalid value for Title", value, value.ToString());
  _description = value;
 }
}
很明显当长度大于16会抛出异常导致值为空(这里看不到抛出的异常)。

一直怀疑是ckeditor的问题,原来是这里的问题,花了大半天时间,晕!

分别修改如下,问题解决:

<property name="Description" type="StringClob">
 <column name="Description" length="16" sql-type="ntext" not-null="false"/>
</property>

virtual public string Description
{
 get { return _description; }
 set
 {
  _description = value;
 }
}

posted @ 2011-01-20 16:23 Jela 阅读(80) 评论(0) 编辑

2010年12月20日 #

IIS设置工作进程大于1导致Session丢失

前段时间出了一奇怪问题,在OA上修改某一个值后却无法保存,经过分析程序是没问题的,费了很多时间,只能回想起最近修改了什么,得知道总监修改过IIS设置。去网上找了下资料:

 

在您创建应用程序池时,就会通知 IIS 6 创建一个工作进程,以传送指派给该应用程序池的 Web 站点、文件和文件夹的内容。您可以将应用程序池配置为启动多个,而非一个工作进程,这样可以提高可扩展性。这个功能的名为 Web 园,是小型的“Web 农场”。您无需使用多台计算机来传送相同的内容(Web 农场),而是可以使用一台计算机中的多个进程来传送相同的内容。

 

在将 IIS 6 应用程序配置为 Web 园时,您只需在“应用程序池属性”的“性能”选项卡的“最大工作进程数”框中,设置一个大于 1 的工作进程数。如果这个值大于 1,每个请求都将启动一个新的工作进程实例,可启动的最多进程数为您所指定的最大工作进程数。后续的请求将以循环的方式发送至工作进程。

Web 园在您的应用程序资源有限的情况下非常有用。例如,如果您到数据库的连接很慢,那么您可以使用多个工作进程来增加用户吞吐量,从而增加到数据库的连接数。

尽管在有些情况下使用 Web 园的用处非常大,但是要注意,每个工作进程的会话信息都是唯一的。由于请求以循环的方式路由到应用程序池工作进程,因此 Web 园对于会话信息存储在进程中的应用程序作用可能不大。在少数情况下,让多个工作进程运行同一个应用程序会造成资源竞争。例如,如果所有工作进程都试图将信息记录到日志文件中,或是使用那些不是专用于多个并发访问的资源,那么可能出现资源竞争问题。

 

原来如此,在修改字段后是用session保存传值(这种传值方式真白痴,还好这代码不是我写的),IIS设置工作进程大于1后,可能导致获取不到Session信息。

posted @ 2010-12-20 15:53 Jela 阅读(212) 评论(0) 编辑

2010年7月30日 #

使用EF时写的基类(Repository)

摘要: 最近在学习和使用Entity Framework,同样,在业务层的开发中会把经常使用的方法写在基类中。在这里把写好的基类发表出来,目的是为了共同学习,因为使用EF时有很多问题还是不太理解,一是自己能力不足,二是EF还存在很多问题吧。代码如下,欢迎指出其中问题,真诚感谢!RepositoryCode highlighting produced by Actipro CodeHighlighter (...阅读全文

posted @ 2010-07-30 10:48 Jela 阅读(560) 评论(0) 编辑

2010年7月21日 #

解决MVC使用时Views必须引用完整的命名空间才得到对象的问题

在使用MVC开发时,遇到了一个问题,在视图中要使用一个对象,比如说资源类时,必须输入完整的名称空间才引用到对象:

<%=OA.Data.Resources.Msg.Add %>

 

这样虽然暂时不影响整个开发,但感觉不爽,想了很多加法都不能用Msg.Add这样来使用。但问题终于解决了,其实很简单,也许是之前没这样用过,所以不知道。

在Web.config下配置下就可以了:

 

 <pages>
      
<namespaces>
        
<add namespace="OA.Data.Resources" />
      
</namespaces>
</pages>

 

 

posted @ 2010-07-21 11:16 Jela 阅读(248) 评论(2) 编辑

2010年6月29日 #

Sql纵向表转为横向表,并分组统计。

摘要: 在写系统尤其是在写课程系统是经常会遇到类似如下纵-横转换,在使用group by ... with cube/rollup + grouping() 来实现是非常容易做到的。1. 用于测试的数据如下:[代码]2. 实现此效果的SQL语句如下:[代码]这里没有考虑做到通用,如果做到通用可能会比较复杂,也不知道性能会怎么样。阅读全文

posted @ 2010-06-29 15:32 Jela 阅读(479) 评论(0) 编辑

2010年5月10日 #

FOR XML PATH 语句的应用

摘要: FOR XML PATH 语句的应用本文非原创,资料来自于:http://hi.baidu.com/dyzhong/blog/item/f1b8422c0586afe78a1399ab.html大家都知道在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用示例。DECLARE @TempTable table(UserID int , Us...阅读全文

posted @ 2010-05-10 13:34 Jela 阅读(80) 评论(0) 编辑

2009年2月7日 #

弹出一个层来让用户确认操作

摘要: 无意间对163邮箱的层确认对话框产生了兴趣,弹出一个层来询问用户的操作,其它部分用阴影覆盖,看上去比较爽,于是决定做一个这样的样式用于公司的OA系统中。以下是JS实现代码:[代码].aspx前台调用如下:[代码]注意:因为JS提交到服务器需要用到 __EVENTTARGET、__EVENTARGUMENT ,要是执行时提示__EVENTTARGET为空则加入一个LinkButton控件就可以了,如...阅读全文

posted @ 2009-02-07 12:32 Jela 阅读(3029) 评论(35) 编辑