Access Database_javascript 기술에 연결하는 Javascript의 전체 예
本文实例讲述了Javascript连接Access数据库的方法。分享给大家供大家参考。具体实现方法如下:
var roc = roc || {}; roc.db = roc.db ||{}; //创建一个连接 roc.db.createDb = function(){ var conn = new ActiveXObject("ADODB.Connection"), fso = new ActiveXObject("Scripting.FileSystemObject"), connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fso.GetFile("./db/Sigma.mdb"); conn.Open(connstr);//打开数据库 roc.db.conn = conn; return roc.db.conn; }; //获取连接 roc.db.getDb = function(){ if( roc.db.conn ){ return roc.db.conn; }else{ return roc.db.createDb(); } }; //关闭连接 roc.db.closeConn = function(){ if( roc.db.conn ){ roc.db.conn.close(); roc.db.conn = null; } }; //获取结果集 roc.db.getRs = function( sqlStr ){ var mysql = roc.dom.trim( sqlStr ); if(mysql == ''){return;} var rs = new ActiveXObject("ADODB.Recordset"), myConn = roc.db.getDb(); rs.open( sqlStr , myConn ); return rs; }; //关闭结果集 roc.db.closeRs = function( rs ){ rs.close(); rs =null; }; //更新、插入 roc.db.execute = function( sqlStr ){ var myConn = roc.db.getDb(); myConn.execute( sqlStr ); roc.db.closeConn(); }; /*---------Sigma:“我任你践踏我的尊严而毫不生气,是因为我爱你。”---------*/ roc.dom = roc.dom ||{}; roc.dom.id = function( id ){ if(typeof id == 'string' || id instanceof String) { return document.getElementById(id); } else if(id && id.nodeName && (id.nodeType == 1 || id.nodeType == 9)) { return id; } return null; }; /** * @method tagName 根据标签获取指定dom元素 * @param {String} tagName 元素标签名称 * @param {HTMLElement} el 元素所属的文档对象 默认为当前文档 * @return {HTMLElement} 返回HTMLElement元素 */ roc.dom.tagName = function(tagName, el) { var el = el || document; return el.getElementsByTagName(tagName); }; //删除左右两端的空格 roc.dom.trim = function (str) { return (str+'').replace(/(^\s*)|(\s*$)/g, ""); } /** * @method show 显示目标元素 * @param {Element} element 目标元素或目标元素的id * @param {String} element 目标元素 */ roc.dom.show = function (element) { element = roc.dom.id(element); element.style.display = ''; return element; }; /** * @method hide 隐藏目标元素 * @param {Element} element 目标元素或目标元素的id * @param {String} element 目标元素 */ roc.dom.hide = function (element) { element = roc.dom.id(element); element.style.display = 'none'; return element; }; /** * @method hasClass 判断元素是否含有 class * @param {Element} el 元素 * @param {String} className class 名称 */ roc.dom.hasClass = function(el, className){ var re = new RegExp('(^|\\s)' + className + '(\\s|$)'); return re.test(el.className); }; /** * @method addClass 给元素添加 class * @param {Element} el 元素 * @param {String} className class 名称 */ roc.dom.addClass = function(el, className){ if(!roc.dom.hasClass(el, className)){ el.className = el.className + ' ' + className; } }; /** * @method removeClass 给元素移除 class * @param {Element} el 元素 * @param {String} className class 名称 */ roc.dom.removeClass = function(el, className){ var re = new RegExp('(^|\\s)' + className + '(?:\\s|$)') el.className = el.className.replace(re, '$1'); }; /** * date对象命名空间 * * @namespace * @name data */ roc.date = roc.date || {}; /** * @method format 对目标日期对象进行格式化 * @param {Object} timestamp 目标日期对象 * @return {String} str 格式化后的时间 */ roc.date.format = function(timestamp) { if(timestamp =='' )return ''; var str = '', temptime = new Date(Number(timestamp)); str += temptime.getFullYear() + '-'; str += temptime.getMonth() + 1 + '-'; str += temptime.getDate() + ' '; str += String(temptime.getHours()).length > 1 ? (temptime.getHours() + ':') : ('0' + temptime.getHours() + ':'); str += String(temptime.getMinutes()).length > 1 ? (temptime.getMinutes()) : ('0' + temptime.getMinutes()); return str; }; /** * cookie对象命名空间 * * @namespace * @name cookie */ roc.cookie = roc.cookie || {}; /** * @method set * @param {String} name cookie的键 * @param {String} value cookie的值 * @param {String} expires 失效时间(小时) * @param {String} domain domain域 * @param {String} path 路径 * @param {String} secure 是否支持https */ roc.cookie.set = function(name, value, expires, domain, path, secure) { var text = encodeURIComponent(value), date = expires; if(date && typeof date === 'number') { date = new Date(); date.setTime(date.getTime() + (expires * 3600000)); } if(date instanceof Date) { text += '; expires=' + date.toUTCString(); } if(domain) { text += '; domain=' + domain; } if(path) { text += '; path=/' + path; } else { text += '; path=/'; } if(secure) { text += '; secure'; } document.cookie = name + '=' + text; }; /** * @method get * @param {String} name cookie的键 */ roc.cookie.get = function(name) { var ret, m; if(name) { if((m = document.cookie.match('(?:^| )' + name + '(?:(?:=([^;]*))|;|$)'))) { ret = m[1] ? decodeURIComponent(m[1]) : ''; } } return ret; }; roc.util = roc.util || {}; roc.util.loger = function( type ,msg ){ switch(type){ case 'pop': alert(msg); break; case 'float':break; default:break; } }; roc.util.resultBlink = function( msg ){ //操作闪烁提示 var $ = roc , opt = $.dom.id("optTip"); $.util.toogle = $.util.toogle || 0; clearTimeout(roc.util.t);//调试 opt.innerHTML = msg ; $.dom.show(opt); opt.className = "blink" + $.util.toogle%2; $.util.toogle++; roc.util.t = setTimeout(function(){ $.dom.hide(opt); },$.config.BLINK_DELAY); }; roc.util.onlyInputNumber = function( id ){ //限制文本框、文本域只能输入数字 var $ = roc , num = $.dom.id( id ); if( num.tagName.toLowerCase() != 'input' || num.tagName.toLowerCase() != 'textarea' ){ return ; } $.util.addEvent( num , 'keypress' , function( e ){ var e = e || window.event ; if(e.keyCode >= 48 && e.keyCode <= 57){alert() return true; } return false; }); }; roc.util.addEvent = function(elem, type, fn, useCapture) { if(elem.addEventListener) { //DOM2.0 elem.addEventListener(type, fn, useCapture); return true; } else if(elem.attachEvent) { //IE5+ elem.attachEvent('on' + type, fn); return true; } else { //DOM 0 elem['on' + type] = fn; } }; roc.config = roc.config || {}; roc.config = roc.config ||{ BLINK_DELAY:3000, SELECT_DELAY:1000 } roc.search = roc.search || {}; roc.search.getValues = function( e ){ //批量获取表单值,用于插入 var $ = roc, allIsNull = true, wrapStr = function( num ){ return '"'+ num + '"'; }, vals =[]; for(var i in e[0]){ var v =$.dom.trim($.dom.id( e[0][i] ).value + ''); if( v != ''){ allIsNull = false; } switch( e[1][i] ){ case 'date': case 'text': vals.push( wrapStr(v) ); break; case 'num': vals.push( v ); break; default:break; } } if(allIsNull){ return false; } return vals.join(','); }; roc.search.getSelSql = function(){ //组装搜索sql var $ = roc, addr = $.dom.trim($.dom.id("s_uaddr").value), phone = $.dom.trim($.dom.id("s_uphone").value), style = $.dom.trim($.dom.id("s_style").value), year = $.dom.trim($.dom.id("s_year").value ), month = $.dom.trim($.dom.id("s_month").value), date = $.dom.trim($.dom.id("s_date").value), datetype = $.dom.trim($.dom.id("s_datetype").value), mysql = 'select * from inslist where 1=1 ', datetypeName = datetype == 0 ? 'selltime':'addtime'; if( addr != ''){ mysql += ' and uaddr like "%' + addr + '%"'; } if( phone != ''){ mysql += ' and uphone ="' + phone + '"'; } if( style != ''){ mysql += ' and typeid = ' + style + ''; } if( year !=''){ mysql += ' and year(' + datetypeName + ') = ' + year + ''; } if( month !=''){ mysql += ' and month(' + datetypeName + ') = ' + month + ''; } if( date !=''){ mysql += ' and date(' + datetypeName + ') = ' + date + ''; } return mysql; }; //搜索 roc.search.seeking = function(){ if( !roc.search.getLock()){return;} var $ = roc , mySql = $.search.getSelSql(); html = $.search.getSel( mySql); $.search.setLock(false); $.dom.id("searchResult").innerHTML = html; $.util.resultBlink("查询完毕");//闪烁 }; roc.search.getSel = function( sqlStr ){ //查询 var $ = roc, rs = $.db.getRs( sqlStr ), filtRs = function ( str ){//处理字段 return ( str + '' ) == 'null' ? '':str; }, num = 1; total_receive = 0, total_prize = 0, html = "<table class='list' id='memoryDetails'>" + "<colgroup>" + "<col class='pid' />" + "<col class='uaddr' />" + "<col class='phone' />" + "<col class='number'/>" + "<col class='money' span='3'/>" + "<col class='number' />" + "<col class='phone' />" + "<col class='number' />" + "<col class='date' />" + "<col class='date' />" + "</colgroup>" + "<tr class='secondRow doNotFilter'>" + " <th class='pid'> 序号 </th>" + " <th class='uaddr'> 用户地址 </th>" + " <th class='phone'> 用户电话 </th>" + " <th class='number'> 型号 </th>" + " <th class='money'> 代收款 </th>" + " <th class='money'> 货款 </th>" + " <th class='money'> 余额 </th>" + " <th class='number'> 安装人 </th>" + " <th class='phone'> 销售电话 </th>" + " <th class='number'> 备注 </th>" + " <th class='date'> 销售日期 </th>" + " <th class='date'> 记录时间 </th>" + "</tr>"; while(!rs.EOF) { var id = num ,//filtRs(rs.Fields("id") ), uaddr = filtRs(rs.Fields("uaddr") ), uphone = filtRs(rs.Fields("uphone") ), typeid = filtRs(rs.Fields("typeid") ), received = filtRs(rs.Fields("received") ), prize = filtRs(rs.Fields("prize") ), unreceived = filtRs(rs.Fields("unreceived") ), installerid = filtRs(rs.Fields("installerid") ), sellerid = filtRs(rs.Fields("sellerid") ), remark = filtRs(rs.Fields("remark") ), selltime = $.date.format(filtRs(rs.Fields("selltime") )), addtime = $.date.format(filtRs(rs.Fields("addtime") ) ); html += "<tr jsselect='browzr_data'>" +"<td class='pid'>" + id + "</td>" +"<td class='uaddr'>" + uaddr + "</td>" +"<td class='phone'>" + uphone + "</td>" +"<td class='number'>" + typeid + "</td>" +"<td class='money'>" + received + "</td>" +"<td class='money'>" + prize + "</td>" +"<td class='money'>" + unreceived + "</td>" +"<td class='number'>" + installerid + "</td>" +"<td class='phone'>" + sellerid + "</td>" +"<td class='number'>" + remark + "</td>" +"<td class='date'>" + selltime + "</td>" +"<td class='date'>" + addtime + "</td>" +"</tr>"; //统计项 total_receive += received, total_prize += prize, num++; rs.moveNext(); } html = html +"<tr class='total doNotFilter'>" +"<td class='pid'></td>" +"<td class='uaddr'>Σ </td>" +"<td class='number'></td>" +"<td class='number'></td>" +"<td class='number'>" + total_receive +"</td>" +"<td class='number'>" + total_prize +"</td>" +"<td class='number'>" + (total_prize - total_receive ) +"</td>" +"<td class='number'></td>" +"<td class='number'></td>" +"<td class='number'></td>" +"<td class='date'></td>" +"<td class='date'></td>" +"</table>"; $.db.closeRs(rs); $.db.closeConn(); return html; }; roc.search.getLock = function(){ //查询锁 if( typeof roc.search.searchLock == 'undefined' ){ roc.search.setLock(false); } return roc.search.searchLock; }; roc.search.setLock = function( key ){ roc.search.searchLock = key; }; //[[id],[type]] roc.search.addEls = [[ "uaddr", "uphone", "typeid", "received", "prize", "unreceived", "installerid", "sellerid", "remark", "selltime" ],[ 'text', 'text', 'num', 'num', 'num', 'num', 'num', 'num', 'text', 'date' ]]; roc.search.insert = function(){ //插入安装单记录 var $ = roc, getV = $.search.getValues( $.search.addEls ); if(!getV){ $.util.loger('pop','请填写信息后再保存!'); return; } var sqlStr = 'insert into inslist (uaddr,uphone,typeid,received,prize,unreceived,installerid,sellerid,remark,selltime) values ('+ getV +')'; $.db.execute( sqlStr ); $.util.resultBlink('保存安装单成功'); }; /*显示与隐藏*/ roc.dom.switchDiv = function( objDiv){ var $ = roc , cookieName = objDiv.id + 'cookie'; if( objDiv.style.display =='' || objDiv.style.display =='none' ){ $.dom.show( objDiv ); $.cookie.set(cookieName,0,9999999); }else{ $.dom.hide( objDiv ); $.cookie.set(cookieName,1,9999999); } }; //货物型号操作 roc.tstyle = roc.tstyle || {}; roc.tstyle.els = [ ['tname','tprize','tdesc'], ['text','text','text'] ]; roc.tstyle.insert = function(){ //插入记录 var $ = roc, getV = $.search.getValues( $.tstyle.els ); if( !getV ){ $.util.loger('pop','请填写信息后再保存!'); return; } var sqlStr = 'insert into type ( tname , tprize , tdesc ) values ('+ getV +')'; //$.util.loger('pop',sqlStr); $.db.execute( sqlStr ); $.util.resultBlink('保存成功!'); $.util.flushInput($.tstyle.els); }; roc.util.flushInput = function( els ){ var $ = roc ; for(var i = 0 ; i < els.length ; i ++){ var e = $.dom.id(els[i]+''); /* if(e.tagName == 'input' && e.type =='text'){*/ e.value = ''; /*}*/ } }; //type{id,tname,tprize} roc.tstyle.getStyle = function( optId ){ //获取类型列表 var $ = roc , mySql = 'select * from type where isdel = 0 ', rs = $.db.getRs( mySql ), filtRs = function ( str ){//处理字段 return (str+'')=='null' ? '':str; }, myOpt = $.dom.id( optId ), optIndex = 1; while(! rs.EOF ){ var id = filtRs(rs.Fields('id')), prize = filtRs(rs.Fields('tprize')), name = filtRs(rs.Fields('tname')); desc = filtRs(rs.Fields('tdesc')); myOpt.options[optIndex] = new Option( name , id ); myOpt.options[optIndex].title = '价格:' + prize + ' | 描述:' + desc; optIndex++; rs.moveNext(); } $.db.closeRs(rs); $.db.closeConn(); }; ;(function(){ var $ = roc ; $.dom.id("save").onclick = function(){ //保存 $.search.insert(); } $.dom.id("searchBtn").onclick = function(){ //提检 $.search.seeking(); } //初始化查询安装单 年 for(var i = 0 ; i <= 10 ; i++ ){ $.dom.id("s_year").options[i] = new Option(2010 + i , 2010 + i ); if( 2010+i+'' == (new Date()).getYear() ){ $.dom.id("s_year").options[i].selected = true; } } //初始化查询安装单月份 for(var i = 1 ; i <= 12 ; i++ ){ $.dom.id("s_month").options[i] = new Option(i,i); } //提检条件字段id 修改触发查询 $.dom.s_fields = ["s_uaddr","s_uphone","s_style","s_datetype",'s_year','s_month','s_date']; for(var i = 0 ; i < $.dom.s_fields.length ; i ++){ var f = $.dom.s_fields[i]; $.dom.id(f).onpropertychange = function(){ if(event.propertyName == 'value'){ $.search.setLock(true); if($.search.t){ clearTimeout($.search.t); } $.search.t = setTimeout(function(){ $.search.seeking(); },$.config.SELECT_DELAY); } } $.dom.id(f).onfocus = function(){ $.dom.addClass(this,"focusit"); }; $.dom.id(f).onblur = function(){ $.dom.removeClass(this,"focusit"); }; } $.dom.id('saveType').onclick = function(){ //货物类型 $.tstyle.insert(); }; //取出类型列表 $.tstyle.getStyle('typeid'); $.tstyle.getStyle('s_style'); /* //$.dom.id("s_uaddr").onkeyup = $.dom.id("s_uphone").onkeyup = $.dom.id("s_style").onkeyup = function(){ $.dom.id("s_uaddr").onblur = $.dom.id("s_uphone").onblur = $.dom.id("s_style").onblur = function(){ $.dom.removeClass(this,"focusit"); } $.dom.id("s_uaddr").onfocus = $.dom.id("s_uphone").onfocus = $.dom.id("s_style").onfocus = function(){ $.dom.addClass(this,"focusit"); }*/ //导航样式切换 for(var i = 0 ; i < $.search.addEls.length ; i++ ){ var curObj = $.dom.id($.search.addEls[0][i]+''); curObj.onfocus = function(){ $.dom.addClass(this,'focusit'); } curObj.onblur = function(){ $.dom.removeClass(this,'focusit'); } } //添加导航点击事件 var lis = $.dom.tagName('li',$.dom.id("ulNav")); for(var i = 0 ; i < lis.length ; i ++ ){ $.dom.hide( $.dom.id(lis[i].id + 'Div')); lis[i].onclick = function(){ for(var n = 0 ; n < lis.length ; n ++ ){ $.dom.removeClass(lis[n],'click'); $.dom.hide( $.dom.id(lis[n].id + 'Div')); } $.dom.show( $.dom.id(this.id + "Div")); $.dom.addClass(this,"click"); $.cookie.set('showWhichDiv', this.id); } } //默认的载入显示页面 var showWhichDiv = $.cookie.get("showWhichDiv") || "searchList"; $.dom.addClass($.dom.id(showWhichDiv),"click"); $.dom.show($.dom.id(showWhichDiv + 'Div')); //日期控件,感谢此控件开发者的分享,祝你有个好女朋友! J('#selltime').calendar({ format:'yyyy-MM-dd HH:mm:ss' }); var numFields = ['s_uphone','s_date','uphone','received','prize','unreceived','installerid']; for( var i = 0 ; i < numFields.length ; i ++ ){ $.util.onlyInputNumber( numFields[i] ); } })();
希望本文所述对大家的javascript程序设计有所帮助。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.

JavaScript는 웹 개발에 널리 사용되는 프로그래밍 언어인 반면 WebSocket은 실시간 통신에 사용되는 네트워크 프로토콜입니다. 두 가지의 강력한 기능을 결합하면 효율적인 실시간 영상 처리 시스템을 만들 수 있습니다. 이 기사에서는 JavaScript와 WebSocket을 사용하여 이 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 첫째, 실시간 영상처리 시스템의 요구사항과 목표를 명확히 할 필요가 있다. 실시간 이미지 데이터를 수집할 수 있는 카메라 장치가 있다고 가정해 보겠습니다.
