ASP技巧TOP 10(转)(二)

技巧

3、数据库搜索技巧
1082

   在数据库搜索中,如果我们只使用等于符号搜索“Pro”是无法提取出那些能够匹配“ASP Pro”的记录的。下面我们要介绍的是如何使用SQL的LIKE操作符实现部分文本搜索。

   问:

   从数据库提取记录集时,是否有可能提取那些包含比我所指定的文本更多内容的记录,且不对搜索文本的出现位置有具体要求?

   例如:   
StrName = 'Direct'
RSShops = Server.CreateObject("ADODB.Recordset")
strSql = "SELECT * FROM Shops WHERE Name =
        '" & StrName & "'

   是否可以提取出商店名字中包含“direct”单词的记录集?

   答:

   不要在SQL命令中使用等于(“=”)操作符,而是改用LIKE操作符。

   要提取出那些名字中包含“direct”的记录,可以使用下面这个查询命令:   
SELECT * FROM Shops WHERE Name LIKE '%direct%'

   请按照这里的代码修改实际使用的查询。

4、数值显示格式化
对于VB程序员来说,ASP中一个非常令人失望的改动是VBScript中不再有Format函数。那么,如何格式化数字使得它不再以默认的格式显示?比如,将数字显示为百分数、货币金额或者加上小数占位符。下面的代码帮你解决这个问题,告诉你如何通过用来取代VB Format的FormatXXXX函数来格式化输出。

   问:

   在我开发的应用中,某个页面要显示一些####.####格式的数字。在ASP中如何才能实现?

   答:

   使用VBScript的FormatNumber函数,该函数能够返回格式化的数字表达式。语法如下:
FormatNumber(Expression [,NumDigitsAfterDecimal ][,IncludeLeadingDigit
][,UseParensForNegativeNumbers ][,GroupDigits]]]])

   例如,FormatNumber("123.45",4)将返回123.4500。

   请参考http://msdn.microsoft.com/scripting的VBScript帮助获得更多信息。
5、SQL命令中的引号处理
虽然用VBScript代码构造的SQL命令本身没有问题,但是由于用户输入的表单数据中包含了单引号或双引号,本来合法的SQL语句不再合法。相信有不少读者已经遇到过这个问题。下面我们要介绍的就是如何解决这类问题。

   问:

   我有一个关于SQL Server更新、插入记录命令的问题。我想用带有一个或多个引号的字符串来更新数据库,SQL将字符串中的引号看成语法符号并提示错误。我应该怎么办呢?是否有其它的字符串分隔符?我已经试过双引号、[]、{}等,但都没有用。

   答:

   在执行SQL命令之前,应当把所有字符数据中的单引号用两个单引号替代。

   也就是说,如果SQL命令中出现了带引号的字符串(比如用户的名字为O'Brian),就会出现问题:   
Update Table Set NameField = 'O'Brian'

   要解决问题,必须把字符串中的单引号转换成两个单引号:   
Update Table Set NameField = 'O''Brian'

   可以利用Replace函数实现这种转换:   
strName = Replace(strName, "'" , "''" )

时间: 2024-09-20 00:02:26

ASP技巧TOP 10(转)(二)的相关文章

ASP技巧TOP 10(二)

技巧 3.数据库搜索技巧1082 在数据库搜索中,如果我们只使用等于符号搜索"Pro"是无法提取出那些能够匹配"ASP Pro"的记录的.下面我们要介绍的是如何使用SQL的LIKE操作符实现部分文本搜索. 问: 从数据库提取记录集时,是否有可能提取那些包含比我所指定的文本更多内容的记录,且不对搜索文本的出现位置有具体要求? 例如: StrName = 'Direct'RSShops = Server.CreateObject("ADODB.Recordse

ASP技巧TOP 10(转)(四)

技巧 9.如何更新被锁定的DLL如果你正在使用Visual Basic COM组件,一定知道更新组件版本时候所出现的错误信息"不能更新DLL文件,访问禁止",或许已经有好多次被它挡驾了.下面我们介绍的是一个小巧的批命令文件,你可以用它来自动启动或关闭锁定DLL文件的MTS. 问: 我们所用的IIS 4.0上运行着ASP和一个Visual Basic 6.0 DLL文件,DLL文件用来为ASP页面提供数据服务.问题是,当我们想要把Web服务器上的DLL升级到新的版本时,系统总是显示DLL

ASP技巧TOP 10(四)

技巧 9.如何更新被锁定的DLL如果你正在使用Visual Basic COM组件,一定知道更新组件版本时候所出现的错误信息"不能更新DLL文件,访问禁止",或许已经有好多次被它挡驾了.下面我们介绍的是一个小巧的批命令文件,你可以用它来自动启动或关闭锁定DLL文件的MTS. 问: 我们所用的IIS 4.0上运行着ASP和一个Visual Basic 6.0 DLL文件,DLL文件用来为ASP页面提供数据服务.问题是,当我们想要把Web服务器上的DLL升级到新的版本时,系统总是显示DLL

ASP技巧TOP 10(转)(三)

技巧 6.处理数据库日期值1099 如果说包含引号的字符串会带来问题的话,那么对我们的某些读者来说向数据库传递日期数据更是容易出错.下面我们根据所用数据库系统的类型分别解释如何正确地完成这一任务. 问: 如何使用ASP向数据库传递日期数据? 答: 答案与所用数据库类型有关.假设我们使用名为"strDate"的变量保存日期数据,如果使用Access数据库,那么生成字符串的代码为: strSQL = " 合法的SQL命令 " & "#" &a

ASP技巧TOP 10(转)

技巧 1.避免使用DSN连接数据库1054 是否仍旧在使用ODBC系统或文件DSN连接数据库?请用OLEDB提供者代替它,这是一种速度更快而且不需要使用DSN的数据库连接技术.使用OLEDB提供者,你不必再为了创建系统DSN恳求ISP(或数据库管理员/网站管理员),也不必为了网站文件位置的变化而修改配置. 问: 我看到过大量通过数据资源名字(DSN)连接数据库的例子,不过我现在想不通过DSN连接数据库.在ASP中可以实现这一点吗?能否举几个具体的例子说明?我希望新的连接方法不依赖于系统DSN,但

ASP技巧TOP 10(一)

技巧 1.避免使用DSN连接数据库1054 是否仍旧在使用ODBC系统或文件DSN连接数据库?请用OLEDB提供者代替它,这是一种速度更快而且不需要使用DSN的数据库连接技术.使用OLEDB提供者,你不必再为了创建系统DSN恳求ISP(或数据库管理员/网站管理员),也不必为了网站文件位置的变化而修改配置. 问: 我看到过大量通过数据资源名字(DSN)连接数据库的例子,不过我现在想不通过DSN连接数据库.在ASP中可以实现这一点吗?能否举几个具体的例子说明?我希望新的连接方法不依赖于系统DSN,但

ASP技巧TOP 10(三)

技巧 6.处理数据库日期值1099 如果说包含引号的字符串会带来问题的话,那么对我们的某些读者来说向数据库传递日期数据更是容易出错.下面我们根据所用数据库系统的类型分别解释如何正确地完成这一任务. 问: 如何使用ASP向数据库传递日期数据? 答: 答案与所用数据库类型有关.假设我们使用名为"strDate"的变量保存日期数据,如果使用Access数据库,那么生成字符串的代码为: strSQL = " 合法的SQL命令 " & "#" &a

Tomcat配置技巧Top 10排行榜

技巧 1.配置系统管理(Admin Web Application) 大多数商业化的J2EE服务器都提供一个功能强大的管理界面,且大都采用易于理解的Web应用界面.Tomcat按照自己的方式,同样提供一个成熟的管理工具,并且丝毫不逊于那些商业化的竞争对手.Tomcat的Admin Web Application最初在4.1版本时出现,当时的功能包括管理context.data source.user和group等.当然也可以管理像初始化参数,user.group.role的多种数据库管理等.在后

Tomcat配置技巧Top 10 [ZT]

技巧 你所需要做的就是:按照你的需求配置Tomcat,只要你正确配置,Tomcat一般都能适合你的要求.下面是一系列关于Tomcat的配置技巧,这些技巧源自于我的书:<Tomcat权威指南>,希望对你有所帮助. Jason Brittain 1. 配置系统管理(Admin Web Application) 大多数商业化的J2EE服务器都提供一个功能强大的管理界面,且大都采用易于理解的Web应用界面.Tomcat按照自己的方式,同样提供一个成熟的管理工具,并且丝毫不逊于那些商业化的竞争对手.To