今天突然发现以前少写了一个“\”而已,真正的连接字符串为"Driver={SQL Server};Server=127.0.0.1\\SQLEXPRESS;Database=SJTU;Uid=kissrat;Pwd=kissratpass;"。通过DSN的方式的方法如下:

1、建立系统DSN数据源;

2、最简单的连接字符串"DSN=SJTU;";

3、复杂一点的,支持远程连接"Remote Server=[192.168.0.1]; Remote Provider=MSDASQL;Network Library=DBMSSOCN;DSN=SJTU;";

4、客户端Js代码

1
<script language="javascript">
 2
     var conn = new ActiveXObject("ADODB.Connection");
 3
     conn.Cnotallow="DSN=SJTU;";
 4
     conn.Open();
 5
     var rs = new ActiveXObject("ADODB.Recordset");
 6
     var sql="select top 1 * from SJTU";
 7
     
 8
     rs.open(sql, conn);
 9
     var record;
10
     while(!rs.EOF) 
{
11
         record = rs("kissrat");
12
         rs.Movenext;
13
     }
14
     rs.close(); 
15
     rs = null;
16
     conn.close();
17
     conn = null;
18
</script>

 这里面record其实只是rs("kissrat")的一个引用,所以在rs.Movenext执行之后它就变成了新纪录的引用。rs("kissrat")的类型是个对象,可以简单的rs("kissrat")+""变成字符串,或者再来个toString()。有个经验,就是一定要注意iframe的缓存,父页面刷新它总是停在那儿懒得动,所以要想办法叫醒它。还有两个类型扩展,用得比较多:

javascript连接数据库 js连接数据库的原理_连接字符串javascript连接数据库 js连接数据库的原理_数据库类型与javascript_02Code
String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");}
String.prototype.crhtml=function(){return this.replace(/<[^>]*>/g,"");}

 

这种方法很变态,不能作为任何实际的网络应用,但可以看成是本地的一个应用程序。其实用js等脚本技术来解决一些“私人”问题是非常方便的,尤其像我的电脑,20世纪的,没有联网,没有mssql,没有vc,更没有matlab,能运行word、excel就不错了。不过很好,有记事本,随便写个vbs脚本或这样运行个html js,做些数据库操作、神经网络的模拟实验什么的。windows很好,有记事本、excel可以当数据库,有dsn引擎,不用复杂的字符串操作,有IE,dhtml,不用晦涩的正则表达式,我的任务就可以简单地完成了,要求不高。当然了,要好好研究还是到实验室舒服,机子跑得快,还能天天上网,不过有问题不见得能在网上找到答案,能自己解决一个简单的问题就是一大进步了。

javascript连接数据库 js连接数据库的原理_连接字符串javascript连接数据库 js连接数据库的原理_数据库类型与javascript_02Code
javascript:with(document.body){ondragstart=oncontextmenu=oncopy=onbeforecopy=onselect=onselectstart=document.onkeydown=document.onmousedown="return true";}void(0);