木子屋 Dnawo's BLOG

2007-11 归档

共 56 篇

解决DLL组件注册成功但无法使用的问题

一个很简单的问题,但是研究半天,给出标准答案,XP或2003下 如FSO,在NTFS格式下 Regsvr32 %systemroot%\system32\scrrun.dll 如果注册成功,但ASP中依然无法使用 先看scrrun.dll在NTFS格式下的权限,看是否加入user组中,如没有请用下命令 cacls %systemroot%\system32\scrrun.dll /d guests 而在FAT32格式下面,因为没有文件权限,无需要上面的步骤 而注册表中依然有用户权限 请查看HKEY_CLASSES_ROOT\Scripting.FileSystemObject的权限,请加上User组可读可运行权限…

怎么判断一个对象是否已被释放

我们通常用如上的形式来创建一个对象,并使用和释放它,问题是我们怎么去判断一个对象是否已被释放了呢?用isObject可以吗?我们来试下: 可见并不能使用isObject来判断一个对象是否已被释放,那我们用varType或typeName函数来试试看: 所以,判断一个对象是否被释放我们应用:typeName(conn)="Nothing"(一定要用Nothing不能用nothing)

初学者来认识OLEDB和ODBC的区别

ODBC(开放数据库互连):是Microsoft引进的一种早期数据库接口技术。它实际上是ADO的前身。早期的数据库连接是非常困难的。每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解。因此,能处理各种各样数据库的通用的API就应运而生了。也就是现在的ODBC(Open Database Connectivity), ODBC是人们在创建通用API的早期产物。有许多种数据库遵从了这种标准,被称为ODBC兼容的数据库。 OLEDB(对象链接和嵌入数据库):位于ODBC层与应用程序之间。在你的ASP页面里,ADO是位于OLEDB之上的"应用程序"。你的ADO调用先被送到OLEDB,然后再交由ODBC处理。你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升。 用ODBC连接数据库…

使用FSO自动创建多级文件夹

FileSystemObject中有个方法创建文件夹的方法CreateFolder,但是这个方法只能在其上一级文件夹存在的情况下创建新的文件夹,所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方便。函数如下:

让数据库连接仅在需要时打开

细心的开发人员有时会想到,我们在一个需要读写数据库的页面里包含类似的代码时,实际上,当你没有进行任何读写数据库操作时,这个数据库连接仍然是打开的,仍然在消耗着服务器的资源。 那么,我们有没有办法让数据库连接仅在需要读取数据库时才打开,不读取时就没有任何动作呢,以下即提供这种思路,以求抛砖引玉。 这种思路即是将数据库连接代码封装在函数里,在需要读取时调用这个函数。 下边是一段MSSQL连接代码: 使用方法:rs.open sql,Open_conn(),1,1

避免asp的SQL的执行效率低

方法一、尽量使用复杂的SQL来代替简单的一堆SQL 同样的事务,一个复杂的SQL完成的效率高于一堆简单SQL完成的效率,有多个查询时,要善于使用JOIN。 要比下面的代码慢: 方法二、尽量避免使用可更新Recordset 要比下面的代码慢: 方法三、更新数据库时,尽量采用批处 理更新 将所有的SQL组成一个大的批处理SQL,并一次运行;这比一个一个地更新数据要有效率得多。这样也更加满足你进行事务处理的需要: 其中,SET XACT_ABORT OFF 语句告诉SQL Server,如果下面的事务处理过程中,如果遇到错误,就取消已经完成的事务。 方法四、数据库索引 那些将在Where子句中出现的字段,你应该首先考虑建立索引;那些需要排序的字段,也应该在考虑之列 。…