`
feng5199
  • 浏览: 10545 次
  • 性别: Icon_minigender_1
  • 来自: 海上漂
社区版块
存档分类
最新评论

JS操作Microsoft Access数据库增、删、改查

阅读更多

1、解压附件,双击 Html_conDB.html文件可以查看效果;以下是实现功能的部分JS代码。

var db="Database.mdb";
var rs=new Object();
function getDBPath(){
//以当前页面文件为基础,找到文件所在的绝对路径。
    var filePath = location.href.substring(0, location.href.indexOf("Html_conDB.html"));
    var path = filePath + db;
    //去掉字符串中最前面的"files://"这8个字符。
    path = path.substring(8).replace(/\//g,"//").replace(/%20/g," ");
	return path;
}
function opendb(dbpath,sql){
	var opendb =new ActiveXObject("ADODB.Recordset");
	opendb.ActiveConnection = "DBQ="+dbpath+";DRIVER={Microsoft Access Driver (*.mdb)};";
	opendb.Source = sql;
	opendb.CursorType = 1;
	opendb.CursorLocation = 2;
	opendb.LockType = 3;
	opendb.Open();
	return opendb;
}
function readDB(){
	showDiv("searchDiv");
	document.getElementById("mainDataDiv").innerHTML="<h3 align='left'>查询结果:</h3>";
	rs=opendb(getDBPath(),"select * from test_tbl");
	var div_content="<table id='mytable'><tbody><tr><th>名字</th><th>密码</th><th>操作</th></tr>";
	var inloop_div_content="";
	while(!rs.EOF){
		var u_id=rs("ID");
	    var u_name=rs("TNAME");
		var u_pass=rs("TPASS");
		inloop_div_content=inloop_div_content+"<tr><td><input type='checkbox' name='userInfo' value='"+u_id+"'> <label id='"+u_id+"'>"+u_name+"</label></td><td>"+u_pass+"</td><td align='center'><a href='javascript:void(0);' onclick=\"deleteDBDataById('"+u_id+"');\">删除</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"openLiuzm_update('"+u_id+"','"+u_name+"','updateDataDiv');\">修改</a></td></tr>";
		rs.moveNext;
	}
	if(inloop_div_content==""){
		div_content=div_content+"<tr><td colspan='3'><h3><font color='red'>查询记录为空!</font></h3></td></tr><tr><td align='right' colspan='3'><img alt='刷新结果' src='shuaxin.jpg' style='cursor:hand;' align='middle' onclick='readDB();'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"openLiuzm('addDataDiv');\">[添加新用户]</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"deleteDBDataBySelectedId();\">[删除选中用户]</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"closeDiv('searchDiv');\">[关闭]</a></td></tr></tbody></table>";
	}else{
		div_content=div_content+inloop_div_content+"<tr><td align='right' colspan='3'><img alt='刷新结果' src='shuaxin.jpg' style='cursor:hand;' align='middle' onclick='readDB();'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"openLiuzm('addDataDiv');\">[添加新用户]</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"deleteDBDataBySelectedId();\">[删除选中用户]</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"closeDiv('searchDiv');\">[关闭]</a></td></tr></tbody></table>";
	}
	document.getElementById("searchDiv").innerHTML="人员信息&nbsp;>>&nbsp;<input type='radio' name='selectRadio' onclick=\"selectAllOrNot('true')\">全选 /<input type='radio' name='selectRadio' onclick=\"selectAllOrNot('false')\">全不选"+div_content;
	rs.CLOSE;
}
function addDataToDB(){
	var user_name=document.getElementById("user_name");
	var user_pass=document.getElementById("user_pass");
	if(user_name.value==""){
		alert("名字不能为空!");
		user_name.focus();
		return false;
	}else if(user_pass.value==""){
		alert("密码不能为空!");
		user_pass.focus();
		return false;
	}else if(user_pass.value!="" && user_pass.value.length<6){
		alert("密码长度必须大于6!");
		user_pass.focus();
		return false;
	}else{
		rs=opendb(getDBPath(),"select * from test_tbl where id="+0);
		rs.ADDNEW;
		rs("TNAME")=user_name.value;
		rs("TPASS")=user_pass.value;
		rs.UPDATE;
		rs.CLOSE;
		alert("写记录成功!");
		close("addDataDiv");
		readDB();
		return true;
	}
}
function deleteDBDataById(_id){
	if(!confirm("确定要删除吗?")){
		return false;
	}
    var bool=false;
	rs=opendb(getDBPath(),"select * from test_tbl where id in ("+_id+")");
	while(!rs.EOF){
		rs.DELETE;
		rs.moveNext;
		bool=true;
	}
	if(bool){
		alert("删除成功!");
		readDB();
	}else{
		alert("没有要删除的数据!");
	}
	rs.CLOSE;
}
function deleteDBDataBySelectedId(){
    if(!confirm("确定要删除吗?")){
		return false;
	}
	var bool=false;
	var selectedUserId=getSelectUser();
	rs=opendb(getDBPath(),"select * from test_tbl where id in ("+selectedUserId+")");
	while(!rs.EOF){
		rs.DELETE;
		rs.moveNext;
		bool=true;
	}
	if(bool){
		alert("删除成功!");
		readDB();
	}
	rs.CLOSE;
}
//打开更新DIV层
var update_uid;
var update_uname;
function openLiuzm_update(_id,_uname,div_id){
	update_uid=_id;
	update_uname=_uname;
	document.getElementById("update_user_name").value=_uname;
    change(div_id);
    showLogin(div_id);
    popCoverDiv();
    void(0);//不进行任何操作,如:<a href="#">aaa</a>
}
function updateDBDataById(){
	var update_userName=document.getElementById("update_user_name");
	if(update_userName.value==""){
		alert("请输入要更新的名字!");
		update_userName.focus();
		return false;
	}
	rs=opendb(getDBPath(),"select * from test_tbl where id="+update_uid);
	rs("TNAME")=update_userName.value;
	rs.UPDATE;
	alert("修改记录成功!");
	close("updateDataDiv");
	readDB();
	rs.CLOSE;
}
function showDiv(div_id){
	document.getElementById(div_id).style.display="block";
}
function closeDiv(div_id){
	document.getElementById(div_id).style.display="none";
	if("searchDiv"==div_id){
		document.getElementById("mainDataDiv").innerHTML="<input type=\"button\" value=\"查询所有用户\" style=\"width:126px;\" onclick=\"readDB();\">";
	}
}
function selectAllOrNot(flag){
	var myselect=document.getElementsByTagName("input");
	if(flag=="true"){
		for(var i=0;i<myselect.length;i++){
			if(myselect[i].type=="checkbox"){
				myselect[i].checked=true;
			}
		}
	}else if(flag=="false"){
		for(var i=0;i<myselect.length;i++){
			if(myselect[i].type=="checkbox"){
				myselect[i].checked=false;
			}
		}
	}
}
function getSelectUser(){
	var boxes = document.getElementsByName("userInfo");
	var check = "";
	var newCheck="";
	var checked = false;
	for (var i = 0; i < boxes.length; i++){ 
		if (boxes[i].checked == true){
			checked = true;
			check += boxes[i].value+',';
		}
	}
	if(!checked){
		alert("至少选择一个用户;若没记录信息,请添加记录!");
		return false;
	}
	newCheck = check.substring(0,check.length-1);
	return newCheck;
}
var Obj='';
document.onmouseup=MUp;
document.onmousemove=MMove;
function MDown(Object){
	Obj=Object.id 
	document.all(Obj).setCapture() 
	pX=event.x-document.all(Obj).style.pixelLeft; 
	pY=event.y-document.all(Obj).style.pixelTop; 
}
function MMove(){ 
	if(Obj!=''){ 
		document.all(Obj).style.left=event.x-pX; 
		document.all(Obj).style.top=event.y-pY; 
	} 
}
function MUp(){ 
	if(Obj!=''){ 
		document.all(Obj).releaseCapture(); 
		Obj=''; 
	} 
} 

 2、主操作页面。

 

 后续效果,如想查看请下载附件运行!

  • 大小: 23 KB
6
2
分享到:
评论
13 楼 晓子你好 2012-07-30  
顶起来顶起来
12 楼 feng5199 2012-02-02  
nx0951 写道
我下载下来运行了,真的不错啊!博主真是高手。
还有一个问题我想请教博主,如何将图片插入到access数据库中呢?

一般文件都不会直接插入到数据库中的,只存它的引用路径
11 楼 nx0951 2012-01-25  
我下载下来运行了,真的不错啊!博主真是高手。
还有一个问题我想请教博主,如何将图片插入到access数据库中呢?
10 楼 feng5199 2010-09-28  
huibin 写道
很不错,能看出楼主很用心
上面 js实例代码<SPAN style="COLOR: #ff0000"> 希望去掉

这个是javaeye里的标签,我暂时还不知道怎么把它去掉
9 楼 huibin 2010-09-25  
很不错,能看出楼主很用心
上面 js实例代码<SPAN style="COLOR: #ff0000"> 希望去掉
8 楼 feng5199 2010-08-12  
ldbjakyo 写道
你跑一下就知道 哪里有BUG了,修改完一条出现异常,删除完一条出现异常,选中删除出现异常

我这里没出现你说的那些异常,我不知道是不是你的环境问题!
7 楼 ldbjakyo 2010-08-12  
你跑一下就知道 哪里有BUG了,修改完一条出现异常,删除完一条出现异常,选中删除出现异常
6 楼 feng5199 2010-08-12  
ldbjakyo 写道
补充说下,你这里有三处BUG,我已经修正

你好,你说的bug;我好像看不出来你指的bug在哪里,还说你修正了;你又在哪里修正过?请你说明白些?
5 楼 ldbjakyo 2010-08-11  
补充说下,你这里有三处BUG,我已经修正
4 楼 ldbjakyo 2010-08-11  
myloveiscomealone 写道
var db="Database.mdb";  这就是数据库连接吗?那会不会是跟ajax一样的?



你跟踪下代码呗!
db 后来被 path 引用, path后来被opendb引用,使用activeXObject打开物理文件
3 楼 feng5199 2010-08-11  
myloveiscomealone 写道
var db="Database.mdb";  这就是数据库连接吗?那会不会是跟ajax一样的?

这个是access数据库文件的名字具体连接看opendb方法
2 楼 myloveiscomealone 2010-08-11  
Lz需要跟大有解释一下,这里面注释很少.为什么要这么做,前题,过程,结果都得说说啊!
1 楼 myloveiscomealone 2010-08-11  
var db="Database.mdb";  这就是数据库连接吗?那会不会是跟ajax一样的?

相关推荐

    js 如何实现对数据库的增删改查

    JavaScript操作数据库JS操作Access数据库,跟其他语言操作差不多,总结了一下习惯代码,仅供参考学习。 现在在F盘有文件abc.mdf,表名为Student,一共2个字段,Id数字类型主键,stuName文本类型,现对该表进行增删改...

    静态页面下用javascript操作ACCESS数据库(读增改删)的代码

    静态页面读取ACCESS数据库.htm 代码如下: [removed] //用 JavaScript 写服务器端连接数据库的代码示例 var conn = new ActiveXObject(“ADODB.Connection”); conn.Open(“DBQ=E:\\a.mdb;DRIVER={...

    Javascript连接Access数据库完整实例

    本文实例讲述了Javascript连接Access数据库的方法。分享给大家供大家参考。具体实现方法如下: var roc = roc || {}; roc.db = roc.db ||{}; //创建一个连接 roc.db.createDb = function(){ var conn = new ...

    JavaScript基于activexobject连接远程数据库SQL Server 2014的方法

    查了一下才发现,这个activexobject只有微软的IE支持,其他的浏览器都不支持,我想可能是由于连接数据库、访问文件等属于不安全的操作,应该是让服务器端来做,所以才导致绝大多数浏览器都不支持这个功能。...

    JS10 无数据库单文件BBS

    制作于 http://www.js10.com/ 小站长网 ====================================================...//*****驱动类型 可转Microsoft Access Driver (*.mdb) data.mdb 提供网站速度 需要手动新建全新mdb即可 无需建表

    汽车销售公司网站asp +access2000

    本网站采用了ASP编程技术及其相应的Js脚本语言技术,运用Microsoft Access2003建立数据库,进行数据管理,保持数据的完整性,成功制作了这个网站,完成了汽车企业网站所需的几大功能,如动态添加产品信息,留言簿的...

    风越ASP代码生成器 试用版

    《风越ASP代码生成器 [FireAsp Creator]》是一款采用.Net FrameWork2.0框架,基于Microsoft SQL Server及Microsoft Access数据库的ASP代码生成软件,可快速建立数据信息的:添加、编辑、列表、查看、搜索、管理页面...

    seneca-msaccess-store:Seneca 商店插件连接到微软访问数据库

    目前 OSX/Linux 与 Microsoft Access 通信的 odbc 驱动程序选项很,因此该模块只能在 Windows 环境中工作。 测试: 节点@0.10.26 塞内卡@0.6.1 先决条件 node v0.10.x - 使用 odbc 模块在 v0.11 及更高版本中...

    网上园林设计-asp.net

    本系统使用ADO访问数据库,并进行数据的读取和写入操作。本系统的运行环境为Windows 9x、Windows 2000、Windows XP等。 a) 操作系统 本系统是在Microsoft Windows XP 操作系统下开发完成的。 b) 开发工具 Microsoft...

    asp连接数据库代码实例

    conn.open \"driver={microsoft access driver (*.mdb)};dbq=\"&server.mappath(db) if err then err.clear set conn = Nothing response.write \"数据库连接出错,请检查conn.asp中的连接字符串。\" response....

    风越ASP代码生成器 [FireAsp Creator]

    《风越ASP代码生成器 [FireAsp Creator]》是一款基于Microsoft SQL Server及Microsoft Access数据库的ASP代码生成软件,可快速建立数据信息的:添加、编辑、列表、查看、搜索、管理页面。  1、支持Microsoft SQL...

    ASP+ACCESS音乐网站建设设计(源代码+毕设文档+开题报告+答辩PPT+外文翻译).zip

    客户端软件,包括单机操作系统和浏览器软件,分别选用Windows xp和Internet Explorer,数据库系统采用Microsoft Access有利于方便操作。 3. 开发工具 基于Web的系统开发工具应使开发者使用各种各样的技术来创建动态...

    asp.net大文件上传示例代码-access-gb2312

    镜像下载(JSP):cab安装包,开发文档,ASP.NET-ACCESS示例,JSP-ACCESS示例(GB2312),JSP-ACCESS示例(UTF-8),JSP-Sql2005示例(UTF-8),JSP-MySQL示例(UTF-8) 镜像下载(PHP):MySQL示例(UTF-8) 问题反馈:...

    风越ASP代码生成器 2.4

    《风越ASP代码生成器 [FireAsp Creator]》是一款采用.Net FrameWork2.0框架,基于Microsoft SQL Server及Microsoft Access数据库的ASP代码生成软件,可快速建立数据信息的:添加、编辑、查看、列表、搜索页面。...

    asoft签到管理系统tykq3.5_build20110125

    2、NTFS硬盘写权限未打开,此错误的报错信息为 Microsoft JET Database Engine ‘80040e09’ 3、IIS父路径未启用,具体表现为登陆后大部分数据处于LOADING状态。 4、IE8下,未勾选“自定义级别安全设置”中-“将...

    迅捷商务全站程序2.0版提供下载

    ACCESS数据库管理新闻高效快捷 强大的后台管理功能 添加分类,新闻内容,推荐栏目置首功能 采用JS代码,可以方便在页面的任意位置增加新闻 图片显示功能 用户可在线管理信息、删除信息 新闻阅读数...

    网管教程 从入门到精通软件篇.txt

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 ...JS:javascript源文件 JSP:HTML网页,其中包含有对一个Java servlet...

    蓝天地方门户网站系统 v2.0.rar

    地方门户网站系统八大特点: 1、采用ASP ACCESS进行搭建,对空间要求低,可操作性强; 2、采用DIV CSS进行代码编写,方便使用者自主进行修改; 3、全站生成支持一键生成html静态文件,减轻数据库压力,提高访问速度...

    网上日记本

    此次论文的开发过程,我们采用asp作为开发语言,Micsoft Access为数据库, 软件运行环境Pentium处理器+IIS+IE6.0+128MB。 2.可行性研究 本论文共分八个章节完成,我们的本次制作任务。在第一章,我们将把我们即将...

    冠龙科技企业网站管理系统V8.2

    WINXP+IIS5.1 / WIN2003+IIS6.0 2) 数 据 库:Access2000 3) 其 他:服务器必须安装 微软IE浏览器5.0或以上版本 部分功能需要服务器支持FSO(FileSystemObject) 推荐:Windows 2000+IIS5.0+Access2000+IE...

Global site tag (gtag.js) - Google Analytics