尽量按照面向对象编程的规则来写代码,感觉得心应手!而且JScript所具有的很多VBScript没有的特性使用非常方便!
下面是用JScript实现的一个conn类,使用try...catch...语法实现错误处理。
<SCRIPT RUNAT=SERVER LANGUAGE=JAVASCRIPT>
//Class Conn()
function Conn() {
//private variables
var db = 'data/data.mdb';
var connStr = 'Provider = Microsoft.Jet.OLEDB.4.0;Data Source = ' + Server.mapPath(db);
//public variables
this.conn;
//public function getConn()
this.getConn = function() {
try{
this.conn = new ActiveXObject('ADODB.Connection');
this.conn.open(connStr);
}catch(exception){
Response.write('<ol>');
Response.write('<li>' + exception + '</li>');
Response.write('<li>' + (exception.number & 0xFFFF) + '</li>');
Response.write('<li>Microsoft Jet connection error</li>');
//Response.write('<li>' + exception.description + '</li>'); //不打印错误信息,以防止报漏数据库地址
Response.write('</ol>');
//throw exception; //不打印错误信息,以防止报漏数据库地址
Response.end(); //停止执行,防止下面的错误发生
}
}//public function execute()
this.execute = function(sqlStr) {
try{
return this.conn.execute(sqlStr);
}catch(exception){
Response.write('<ol>');
Response.write('<li>' + exception + '</li>');
Response.write('<li>' + (exception.number & 0xFFFF) + '</li>');
Response.write('<li>' + exception.description + '</li>');
Response.write('</ol>');
Response.end();
}
}//public function close()
this.close = function() {
try{
this.conn.close();
this.conn = null;
}catch(exception){
Response.write('<ol>');
Response.write('<li>' + exception + '</li>');
Response.write('<li>' + (exception.number & 0xFFFF) + '</li>');
Response.write('<li>' + exception.description + '</li>');
Response.write('</ol>');
Response.end();
}
}
}//var conn = new Conn(); //建立新的Conn对象
//conn.getConn(); //当数据库路径错误是,打印定制的错误信息
//conn.execute('select * from test');//当路径正确,而没有test表时打印响应信息
//conn.close()</SCRIPT>
去掉代码尾部注释掉的几行代码可以看到效果。
另外,其实代码实例也是很丰富的,网络上很多高手写的javascript客户端代码,简单修改之后就可以拿来作为服务器端代码,比如将客户端代码中的document.write改为asp的Response.write...