- Y; ^" v% s( e3 O( C # p0 j. |7 ~. h+ I) O/ [, J( b- |
+ H" w. ^% ~" X( ]: w" Z/ G
<>例子应用程序中的代码仅仅提供了一些值得借鉴的方法。通过研究例子中的代码,你会发现一些对象的属性和方法。如果你准备创建一个高质量产品化的数据库应用程序,你应该重新设计用户界面,并且根据用户需要的方式将这些属性和方法所具有的功能提供给他们。文中余下的部分将研究怎样利用在例子中学到的技巧使用ASP来创建高质量产品化的数据库应用程序。</P> % x! z; w+ N a* M4 W数据库连接的安全性和错误处理* l; i' k& H( Q/ ]3 u6 q
<>数据库连接字符串在例子中是静态的,它在ASP文件中以硬编码的形式出现。这种方法使得任何能访问你的ASP文件的用户可以得到该数据库连接字符串的信息,一旦得到了这些信息,他们就可以访问你的数据库,这里有很大的安全隐患。所以出于对数据库安全性的考虑,你需要使用的一个存储在系统文件或者系统注册中的机器DSN或者将数据库连接字符串编译到 DLL中,这些方法可以确保数据库连接信息的安全。</P>6 {3 h: L6 E% L# j0 A6 p7 I" D
<>另外,数据库连接对象在页的顶部被打开,在页的底部关闭,这个页面使用一个数据库连接,创建、打开、关闭和破坏数据库连接对象个发生一次,这样减少了系统额外的开销。</P> ! H# O% l' U" L E<>在页的顶部,代码中有条语句(On Error Resume Next),指示如果有错误,将自动接着从产生错误行的下一行开始执行,而没有具体的错误处理措施。你能增加错误处理,将有关错误的描述存在页面顶部的<I>sMsg</I>变量中,如果有错误发生,这个变量可以向用户显示错误信息。</P>, k9 h& v5 [ R/ {0 w$ R
<>最后的安全性考虑是没有检查用户创建的SQL语句。当用户创建新表时,他们可能在创建表的SQL语句中用括号内嵌一个与创建表无关的SQL语句。由于一些恶意的SQL能对数据库造成毁灭性的破坏,因此你应该不能让用户用这种SQL语句来访问数据库。</P>- Y6 B% [/ B. k& ^" Z
使用ADOX处理列表中的表集合[被屏蔽广告]( k9 @+ ~7 Y9 d' ?3 z2 _ a& V
<SCRIPT language=JavaScript1.1 src="http://ad.cn.doubleclick.net/adj/messagingplus.zdnet.com.cn/developer/tech;sz=1x1;ord=1893404733?">: K$ x# ~5 I h2 B' ?9 N