javascript连接SQL Server 2014进行增删改查(适用于IE浏览器)
在下面的例子中引用了ADODB.Recordset对象,在引用时,需要用到一些常量,要先找到C:\Program Files\Common Files\System\ado\adojavas.inc,然后把这个文件复制贴成一个新的文件,修改文件名为: adojavas.js,注意扩展名为js,表示是javascript代码。
然后,要把文件中的 <% 和 %> 符号去掉,这个符号是用vbscript开发ASP时才需要的。
具体的数据:
create database Test; go use test; go if object_id('tb') is not null drop table tb; go CREATE TABLE TB(ID INT,NAME NVARCHAR(20),SCORE NUMERIC(10,2)); INSERT INTO TB(ID,NAME,SCORE) VALUES(1,'语文',100), (2,'数学',80), (3,'英语',900), (4,'政治',65), (5,'物理',65), (6,'化学',85), (7,'生物',55), (8,'地理',100)
基本的流程是:
(1)页面加载的时候,会调用onload函数,连接数据库,在关闭时,调用onunload函数,关闭数据库。
(2)在表格的框中,输入ID,点击查找,就可以找到数据。
点击新增,会把表格中输入的数据新增到tb表中。
点击修改,就会用表格中的数据修改原始数据。
点击删除,就会把找到的数据删除。
代码:
<!doctype html> <html> <head> <meta charset="gb2312"> <title>增删改查</title> <script src="C:\Program Files\Common Files\System\ado\adojavas.js"></script> <script language="javascript"> //全局变量 var db,rs; var strConn="Provider=SQLOLEDB.1;Data Source=WIN-6;User ID=sa;Password=yupeigu;Initial Catalog=test"; var isOpen=false; //打开数据库 function openDatabase() { db = new ActiveXObject("ADODB.Connection"); db.Open(strConn); rs = new ActiveXObject("ADODB.Recordset"); } //关闭数据库 function closeDatabase() { if(isOpen) { rs.Close(); } db.Close(); } //查询数据 function queryRecord() { if(isOpen) rs.Close(); var sql = "select id,name,score from tb where id ='" + dbForm.id.value + "'"; rs.Open(sql,db,adOpenStatic,adLockOptimistic,adCmdText); isOpen = true; if (!rs.EOF) { dbForm.id.value = rs("id"); dbForm.name.value = rs("name"); dbForm.score.value = rs("score"); spShow.innerHTML = "<font color=red>查询到记录!</font>"; } else { spShow.innerHTML = "<font color=red>没有找到记录!</font>"; //rs.Close(); //isOpen = false; } } //新增数据 function insertRecord() { if (dbForm.id.value != "") { if(isOpen) rs.Close(); var sql = "select id,name,score from tb where id ='" + dbForm.id.value + "'"; rs.Open(sql,db,adOpenStatic,adLockOptimistic,adCmdText); isOpen = true; if(rs.EOF) { rs.AddNew(); rs("id") = dbForm.id.value; rs("name") = dbForm.name.value; rs("score") = dbForm.score.value; rs.Update(); spShow.innerHTML = "<font color=blue>新增数据成功!</font>"; } else { spShow.innerHTML = "<font color=red>要新增的数据已经存在,请重新输入!</font>"; } } else spShow.innerHTML = "<font color=red>没有输入ID,请输入ID!</font>"; } //更新数据 function updateRecord() { if(dbForm.id.value != "") { if(isOpen) rs.Close(); var sql = "select * from tb where id='" + dbForm.id.value +"'"; rs.Open(sql,db,adOpenStatic,adLockOptimistic,adCmdText); isOpen = true; if(!rs.EOF) { rs("id") = dbForm.id.value; rs("name") = dbForm.name.value; rs("score") = dbForm.score.value; rs.Update(); spShow.innerHTML = "<font color=blue>更新数据成功!</font>"; } else spShow.innerHTML = "<font color=red>要更新的数据不存在,请重新输入数据!</font>"; } else spShow.innerHTML = "<font color=blue>没有输入ID,请输入ID!</font>"; } //删除数据 function deleteRecord() { if(isOpen) { if(!rs.EOF) { rs.Delete(); rs.Update(); rs.Close(); isOpen = false; spShow.innerHTML = "<font color=blue>删除数据成功!</font>"; } else { spShow.innerHTML = "<font color=red>没有找到要删除的数据!</font>"; } } else spShow.innerHTML = "<font color=red>请先查询要删除的记录,再进行删除操作!</font>"; } </script> </head> <body onload="openDatabase()" onunload="closeDatabase()"> <h1>查询、增加、更新、删除数据表记录</h1> <hr> <p><span id="spShow"></span><p> <hr> <form name="dbForm"> <table border=1> <tr> <td>ID:</td> <td><input type="text" name="id" size=20></td> </tr> <tr> <td>Name</td> <td><input type="text" name="name" size=20></td> </tr> <tr> <td>Score</td> <td><input type="text" name="score" size=20></td> </tr> </table> <input type="button" onclick="queryRecord()" value="查询记录"> <input type="button" onclick="insertRecord()" value="增加记录"> <input type="button" onclick="updateRecord()" value="更新记录"> <input type="button" onclick="deleteRecord()" value="删除记录"> </form> </body> </html>