📄 db.js
字号:
var _dbName='';var _dbNameTmp='';var _dbPool=[];var _dbConn=null;var _dbExecQueue=[];function dbConn(sql, callback, errCallback, callbackData) { this.con=new XMLHttp(dbResponse); this.con.setData(this); this.con.setAsync(false); this.sql=sql; this.callback=callback; this.callbackData=callbackData; this.errCallback=errCallback; this.status='SLEEP'; this.box=null; this.boxTab=''; this.boxTabProc=''; this.persistent=false; this.working=function() { return this.con.working(); }; this.exec=function(sql) { if (!sql) sql=this.sql; this.con.resetContent(); this.con.setContent('query='+sql); this.con.execute(); }; this.setArgv=function(sql, callback, errCallback, callbackData) { this.sql=sql; this.callback=callback; this.errCallback=errCallback; this.callbackData=callbackData; }; this.setBox=function(mdi) { this.box=mdi; };}function dbResponse(db) { if (db && db.success()) { //alert(db.status()+' '+db.data.sql); switch (db.status()) { case 200: var data=db.getTree(); if (db.data.callback) db.data.callback(data, db.data); if (data.time) window.status=data.time[0]+': '+db.data.sql; break; default: var data=db.getTree(); if (data.message && data.message[0]) { if (db.data.errCallback) db.data.errCallback(data, db.data); else alert('Error: '+data.message[0]); }else{ if (db.data.errCallback) db.data.errCallback(null, db.data); else alert('Error: '+db.data.sql); } break; } db.data.status='SLEEP'; if (_dbExecQueue.length > 0) setTimeout('dbExecQueue()', 10); }}function dbExecQueue() { if (_dbExecQueue.length <= 0) return; var data=_dbExecQueue.shift(); dbExecCommand(data[0], data[1], data[2], data[3], data[4]);}function dbExecCommand(sql, callback, errCallback, callbackData, boxProperty) { /* for (var i=_dbPool.length; i--;) { if (!_dbPool[i].persistent && _dbPool[i].status == 'SLEEP') { _dbPool[i].status='WORKING'; _dbPool[i].setArgv(sql, callback, errCallback, callbackData); _dbPool[i].exec(); return _dbPool[i]; } } */ if (!_dbConn) _dbConn=new dbConn; if (_dbConn.status == 'WORKING') { _dbExecQueue.push([sql, callback, errCallback, callbackData, boxProperty]); return; } _dbConn.setArgv(sql, callback, errCallback, callbackData); if (boxProperty) { _dbConn.box=boxProperty[0]; _dbConn.boxTab=boxProperty[1]; _dbConn.boxTabProc=boxProperty[2]; } else _dbConn.box=_dbConn.boxTab=_dbConn.boxTabProc=null; _dbConn.status='WORKING'; _dbConn.exec(); return _dbConn;}function dbGetPool() { for (var i=_dbPool.length; i--;) { if (!_dbPool[i].persistent && _dbPool[i].status == 'SLEEP') { _dbPool[i].status='WORKING'; return _dbPool[i]; } } var db=new dbConn(); _dbPool.push(db); db.status='WORKING'; return db;}var _dbShowSQLCurDiv=null;var _dbShowSQL_FFBug='';function dbShowSQL(sql) { _dbShowSQLCurDiv=_curDiv; lGo('showSqlWin'); var form=document.forms['form_showsql']; form['sql'].value=sql; return false;}function dbShowSQLCopy() { var form=document.forms['form_showsql']; var sql=form['sql'].value; copy_clip(sql);}function dbShowSQLHide() { if (_dbShowSQLCurDiv && _dbShowSQLCurDiv.id) { if (_isIE) _dbShowSQL_FFBug=''; lGo(_dbShowSQLCurDiv.id); }else lHide();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -