木子屋 Dnawo's BLOG

2007-11 归档

共 52 篇

妙用"1=1"和"1<>1"

在多条件动态查询过程中我们常常得根据选择条件动态的生成SQL查询语句,假设我们得根据选择的班级和姓名信息动态的查询学生信息,下边提供了三种生成SQL查询语句的方法: 方法一: 方法二: 方法三: 我们来比较下三种方法 方法一:不会出错,代码多; 方法二:在user_name和user_class都为空的情况下会出现"select * from student where"这样的错误的SQL查询语句,代码和方法一样多; 方法三:不会出错,代码最少; 显然方法三是最可选的方法,最令人叫绝的是它用了"1=1",既减少了代码,又避免了出现错误的SQL查询语句! 关于"1=1(永真)"和"11(永假)"网上举的比较多的例子就是在拷贝表和复制表结构中使用,代码如下:…

认识ASP.NET配置文件Web.config

一、认识Web.config文件 Web.config文件是一个XML文本文件,它用来储存ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过VB.NET新建个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 在运行时对Web.config文件的修改不需要重启服务就可以生效(注: 节例外)。当然Web.config文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。…

如何让HyperLinkField的链接带多个参数

很多时候一个链接通常带有好几个参数,形如:http://www.mzwu.com/article.asp?u_id=1&id=1197,怎么让HyperLinkField的链接也带多个参数呢?很简单,只须在其DataNavigateUrlFields属性中设置多个字段(用逗号分隔),然后在属性DataNavigateUrlFormatString中使用{0}、{1}、{2}等来表示字段值即可。

GridView中数据格式化

为什么设置了DataFormatString没有效果? 不要忽略BoundField的两个重要属性HtmlEncode和ApplyFormatInEditMode。GridView使用的BoundField与DataGrid使用BoundColumn不同,BounField提供了一个HtmlEncode属性,提供是否对数据进行HTML编码,降低了潜在的Html&Script嵌入攻击,默认该值是启用的,如果要使用格式化输出,应该关闭此属性; 默认情况下,只有当数据绑定控件处于只读模式时,格式化字符串才能应用到字段值。当数据绑定控件处于编辑模式时,若要将格式化字符串应用到显示的值,应该同时将ApplyFormatInEditMode属性设置为true。 DataFormatString的格式…

为GridView"删除"列添加确认对话框

最简单的方法是将删除按钮的DeleteText属性设为: 如果把CommandField的ButtonType属性设置成Button的话,这段代码就失效了。我想了下,可以通过将其转换为模板列的方式来解决:先将该字段转换成模板,然后编辑这个模板列,选中用于删除的Button,将其onClientClick属性设为"return confirm('您确认删除要删除么?')"即可。

使用 SQL 事件探查器进行监视

SQL 事件探查器是图形工具,使系统管理员得以监视 Microsoft SQL Server 实例中的事件。可以捕获有关每个事件的数据并将其保存到文件或 SQL Server 表中供以后分析。例如,可以对生产环境进行监视,了解执行速度太慢而妨碍性能的存储过程。 使用 SQL 事件探查器只监视感兴趣的事件。如果跟踪变得太大,可以基于需要的信息进行筛选,以便只收集事件数据的子集。监视太多事件类会增加服务器和监视进程的开销,并且可能导致跟踪文件或跟踪表变得很大,尤其是在进行长时间监视时。 在跟踪事件后,SQL 事件探查器允许重播在 SQL Server 实例上捕获的事件数据,因此可以如事件当初发生时一样有效地重新执行保存的事件。…

JavaScript中将多个语句写成一个语句的两种方法

一、使用逗号运算符 1.一次声明多个变量 var i=1,j=1,k=1 2.多个语句用逗号间隔 i=1,j=i+2,k=j+2 二、使用花括号 if语句、while语句、do/while语句、for语句、for/in语句和function语句等语句后都只能跟随一个子语句,此时可以用{和}将多条语句围起来变成一个语句。 上边例子中"login = true;"并非if语句的子语句,要使它也成为if语句的子语句,就必须使用花括号:

while语句和do/while语句的两点不同

while语句: do/while语句: 从上边例子中我们来分析它们的两点不同: 1.因为while语句总是先检测循环表达式,所以它的循环体可能一次都不执行;而do/while语句是在循环底部检测循环表达式,所以它的循环体至少会被执行一次。 2.do/while语句的结尾要加个分号,这是因为它的结尾处是循环条件而不是简单的用花括号标识循环体的结束。

根据表达式的值返回指定值

有时我们要根据表达式的值返回指定的值,比如当表达式a>b的值为true时返回true,值为false时返回false。 1. JavaScript 使用运算符 (?:),例如:3>2?true:false 2. Visual Basic 使用IIF函数,例如:IIF(3>2,true,false) 3. VBScript VBScript中没有类似Visual Baisc的IIF函数,我们可以写一个自定义函数来实现:

修改Windows Server 2003 R2默认IE配置

新安装的Windows Server 2003 R2 Enterprise Edition SP1默认启用了"Internet Explorer 增强的安全配置",浏览任何站点IE都会弹出一个提示窗口,非常烦人: 并且发现此时根本不能修改Internet的安全级别,只能使用默认设置高。以下步骤可以将IE安全设置恢复为我们所熟悉的 Windows 2000 的默认 Internet Explorer 安全设置,不再有烦人的提示窗口,可以修改Internet安全级别: 1.打开“控制面板”,单击“添加或删除程序”,然后单击“添加/删除 Windows 组件”。 2.选择“Internet Explorer 增强的安全配置”,单击复选框清除选择,然后单击“确定”。…