首页 > 开发 > 综合 > 正文

js客户端数据库的对象与函数

2024-07-21 02:14:22
字体:
来源:转载
供稿:网友
有时候想在网页上使用客户端数据库,但为了兼容第版本的浏览器不支持xml技术,所以在此编了一些js的dml函数希望有兴趣的朋友一起讨论
function trform()
{
this.trrc=new array();
this.qrc=new array();//结果

this.currentrc=1;//当前纪录指针
this.lastrc=0;//最后纪录
this.rclength=arguments.length;//字段数

this.trrc[0]=new array();//字段名

for(i=0;i<this.rclength;i++) this.trrc[0][i]=arguments[i];

this.addrc=addrc; //加一条纪录
this.showrc=showrc;//打印当前纪录
this.showprevious=showprevious;
this.shownext=shownext;

this.preload=preload; //预装载图像
this.item2index=item2index;//使字段名到数组的索引
this.showthis=showthis;
this.isright=isright;
this.seek=seek;


}

function addrc()
{
this.trrc[++this.lastrc]=new array();
for(i=0;i<this.rclength;i++) this.trrc[this.lastrc][i]=arguments[i];

return true;

}



function showrc(){
 for(rc=0;rc<this.qrc[0].length;rc++)
 {
  theel=eval(this.qrc[0][rc]);
 
  if(this.qrc[0][rc].indexof("image")==-1){
  theel.innertext=this.qrc[this.currentrc][rc]
  }
  else{
  theel.src=this.qrc[this.currentrc][rc];
  }
 }
return true;

}

function shownext(){
this.seek("all","all")
if(++this.currentrc>this.lastrc) this.currentrc=this.lastrc;
this.showrc();


}

function showthis(){
 this.seek("all","all")
this.showrc();

}



function showprevious(){
this.seek("all","all");
if(--this.currentrc==0) this.currentrc=1;
this.showrc();

}


function preload(){
if(confirm('您需要先将图片载入内存吗,这样可以提高浏览时的平滑度.如果您的网络速度较慢的话,建议不要载入','明暗界限')){
status='图片装入中';
var imageindex=new array();
var n=0;
for(i=0;i<this.rclength;i++){ 
  if(this.trrc[0][i].indexof("image")!=-1) imageindex[n++]=i;
}  
 
for (i=1;i<=this.lastrc;i++){
  for(var ii in imageindex){
   var preimage=new image();
   preimage.src=this.trrc[i][ii];
   status+='.'
  }
 }
}
status='';
return true;

}

function item2index(item)
{
val=-1
for(i=0;i<this.rclength;i++)
 if(this.trrc[0][i]==item) val=i;

return val;

}



function isright(rc,item,oper,exp)
{


id=this.item2index(item);


ends=false;
if(eval("this.trrc[rc][id]"+oper+"exp")) ends=true;


return ends;

}

function seek(exp1,item1)
{


var getexp=exp1.split("@");

this.qrc=new array();

var n=0;
var showitems=new array();

if(item1=='all') for(i=0;i<this.trrc[0].length;i++) showitems[i]=this.trrc[0][i];
else{
  for(i=1;i<arguments.length;i++)
  showitems[n++]=arguments[i];
}



this.qrc[0]=new array();
for(m=0;m<showitems.length;m++)
 {
  
  this.qrc[0][m]=showitems[m];
 }


for(m=0;m<showitems.length;m++)
 {
  showitems[m]=this.item2index(showitems[m]);
 }


temp=1;

if(getexp[0]=='all'){
 
 for(k=1;k<=this.lastrc;k++)
 {
  
  this.qrc[temp++]=new array();
  for(i=0;i<showitems.length;i++)
  {
  this.qrc[temp-1][i]=this.trrc[k][showitems[i]];
  }
 }

 }
else
 {
 for(k=1;k<=this.lastrc;k++)
 {
  if(this.isright(k,getexp[0],getexp[1],getexp[2]))
  {
  this.qrc[temp++]=new array();
  for(i=0;i<showitems.length;i++)
  {
  this.qrc[temp-1][i]=this.trrc[k][showitems[i]];
  }
  }
 }
 

}





return this.qrc;

}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表