JScript通过ADO操作数据库

思路:通过JScript中的 new ActiveXObject()方法来实现对对象的调用

 

  //  Demo 1  读取数据

function readFromDB()
{
 var s="";
  //   创建数据库对象  
  var   objdbConn   =   new   ActiveXObject("ADODB.Connection");  
  //   DSN字符串  
  //var   strdsn   =   "Driver={SQL   Server};Server=127.0.0.1;Database=study;UID=sa;PWD=";  // Sql Server 连接方式
  //var   strdsn="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Database1.accdb;Persist Security Info=False";   // Office 2007 Access
  var   strdsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Database1.mdb;Persist Security Info=False";   //  Office 2003  Access
  //   打开数据源  
  objdbConn.Open(strdsn);  
  //   执行SQL的数据库查询  
  var   objrs   =   objdbConn.Execute("select   *   from   db");  
  //   获取字段数目  
  var   fdCount   =   objrs.Fields.Count   -   1;  
  //   检查是否有记录    
  if   (!objrs.EOF){  
      s="<table   border=1><tr>";     
      //   显示数据库的字段名称  
      for   (var   i=0;   i   <=   fdCount;   i++)
      {  
         s+="<td><b>"   +   objrs.Fields(i).Name   +   "</b></td>";
      }      
      s+="</tr>";  
      //   显示数据库内容  
      while   (!objrs.EOF){  
          s+="<tr>";          
          //   显示每笔记录的字段  
          for   (i=0;   i   <=   fdCount;   i++)  
          {
            s+="<td   valign='top'>"   +   objrs.Fields(i).Value   +   "</td>";
          }    
          s+="</tr>";  
          objrs.moveNext();     //   移到下一笔记录  
      }  
      s+="</table>";   
  }  
  else    
      //document.write("数据库内没有记录!<br/>"); 
      s="数据库内没有记录!<br/>";
  objrs.Close();                 //   关闭记录集合  
  objdbConn.Close();         //   关闭数据库链接  
 
  document.getElementById("show").innerHTML=s;
}

 

//  Demo 2  插入数据 

function insertDB()
{
 var objdbConn   =   new   ActiveXObject("ADODB.Connection");
  var   strdsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Database1.mdb;Persist Security Info=False";   //  Office 2003  Access
  objdbConn.Open(strdsn); 
 var sql="insert into db(USERNAME,USERAGE) values ('AAAA',25)";
 objdbConn.Execute(sql);  //  更新
 objdbConn.Close();
 
 
 // show
 readFromDB(); 
}

 

//   Demo 3 插入数据2

function insertDB2()
{
 //  需要注意一点,此处使用Recordset来更新数据,需要将Access文件的权限更改为everyone可以读写,
 //  而使用  Connection对象的Execute方法则不需要 
 var objdbConn   =   new   ActiveXObject("ADODB.Connection");
  var strdsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Database1.mdb;Persist Security Info=False";   //  Office 2003  Access
  var sql="select   *   from   db";
  var rs= new  ActiveXObject("ADODB.Recordset");
  objdbConn.Open(strdsn); 
  rs.Open(sql,objdbConn,3,2);
 
  //  在最后一行插入
    rs.MoveLast();
   rs.addnew();
   rs("USERNAME")="BBB";
   rs("USERAGE")=29;
   rs.Update();
 
  rs.Close();
  objdbConn.Close();
 
 // show
 readFromDB();  
}

 

 

//  Demo  4 插入数据3

 function insertDB3()
{
 var objdbConn   =   new   ActiveXObject("ADODB.Connection");
  var   strdsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Database1.mdb;Persist Security Info=False";   //  Office 2003  Access
  objdbConn.Open(strdsn); 
 
 var cmd=new ActiveXObject("ADODB.Command");
 cmd.ActiveConnection=objdbConn;
 cmd.CommandText="insert into db(USERNAME,USERAGE) values(:username,:userage)";
 
 var para1=new ActiveXObject("ADODB.Parameter");
 para1.Type=adBSTR;
 para1.Direction=adParamInput;
 para1.Name="username"
 para1.Value="Ansy";
 
 var para2=new ActiveXObject("ADODB.Parameter");
 para2.Type=adInteger;
 para2.Direction=adParamInput;
 para2.Name="userage"
 para2.Value=35; 
 
 cmd.Parameters.Append(para1);
 cmd.Parameters.Append(para2);
 
 
 cmd.Execute();
 
 // show
 readFromDB(); 
}

 

说明

1,Demo 4 需要ADO中的一些常量  点此下载 adojavas.inc

2,编程参考    ADO.CHM

你可能感兴趣的:(script)