关闭

javascript连接SQL Server 2014进行增删改查(适用于IE浏览器)

1494人阅读 评论(1) 收藏 举报
分类:

在下面的例子中引用了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>





0
0
查看评论

JavaScript连接sqlserver数据库实例源码

//打开数据库连接 function Conn() {      var conn = new ActiveXObject("ADODB.Connection");      // Data Source=数据库地...
  • qq_33030313
  • qq_33030313
  • 2016-09-13 16:29
  • 6622

JS访问SQL Server数据库

 JS访问SQL Server数据库,代码如下:          测试js访问数据库       var conn,rs;    ...
  • dyfangdy
  • dyfangdy
  • 2007-05-17 15:22
  • 7911

JavaScript连接SqlServer实现CRUD操作。js太强大了

插入和查询操作function db() { //活动编号 var activeid = Request.Form("activeid"); //用户名 var username = Request.Form("username"); //手机号...
  • JavaAlpha
  • JavaAlpha
  • 2009-12-09 15:33
  • 7684

JavaScript访问数据库

JS操作 Access 数据库 Js代码   "JavaScript">   var filePath = location.href.substring(0, l...
  • wanglei19880622
  • wanglei19880622
  • 2015-12-29 15:56
  • 2612

javascript连接远程数据库SQL Server 2014(只能在IE浏览器上运行)

最近翻开一本10年前买的javascript的书,这本书买回来只看了前半部分,后面的一直没看,也一直没有从事这方的工作。 看到有一节写着js连access接数据库,于是照着书上的代码,写了一段在chrome浏览器中运行,发现完全没反应。 查了一下才发现,这个activexobject只有微软的IE支...
  • yupeigu
  • yupeigu
  • 2017-01-13 17:47
  • 999

使用JAVASCRIPT从sqlserver数据库中获得数据

----------------------------------------------------------------------------------------- var  conn  =  new  ActiveXObject("A...
  • cngkqy
  • cngkqy
  • 2008-12-25 15:58
  • 6702

JavaScript连接SqlServer数据库。实现CRUD操作。

插入和查询操作function db() { //活动编号 var activeid = Request.Form("activeid"); //用户名 var username = Request.Form("username"); //手机号...
  • JavaAlpha
  • JavaAlpha
  • 2009-12-09 15:38
  • 3666

JavaScript中操作Mysql数据库实例

Javascript访问MYSQL 1、下载MYSQL的ODBC连接http://www.mysql.com/downloads/connector/odbc/; 2、在JS中建立ODBC连接如下: var con = new ActiveXObject("ADODB.Connection...
  • CareChere
  • CareChere
  • 2016-06-15 15:38
  • 16822

JS访问SQL Server数据库代码

  • 2014-10-09 09:59
  • 1KB
  • 下载

Nodejs连接sqlserver数据层封装

一、准备模块msnodesql
  • kkkkkxiaofei
  • kkkkkxiaofei
  • 2014-06-21 16:52
  • 13576
    个人资料
    • 访问:531072次
    • 积分:9079
    • 等级:
    • 排名:第2469名
    • 原创:362篇
    • 转载:14篇
    • 译文:1篇
    • 评论:137条
    博客专栏
    最新评论