javascript使用getrows()方法数组转换函数
VBScript可以自动将getRows返回的值转换成一个二维数组,但JavaScript没有二维数组,我们只能通过toArray将其返回的值先转换成一维数组,然后再进行转换成类似VBScript的二维数组。
我们先来分析下toArray后数组中的内容,有如下一张表(T_Users):
id | username | userpass |
1 | admin | admin888 |
2 | dnawo | 66666 |
arr[0] = 1 arr[1] = admin arr[2] = admin888 arr[3] = 2 arr[4] = dnawo arr[5] = 66666
下面我们来将它拆分成二维数组,我写了一个函数来实现:
function RecordToArray(oRs){ if(typeof(oRs) == "object"){ var arr = ors.getRows(-1).toArray();//用toArray转为数组 var arr2 = new Array(); var cols = ors.fields.count;//列 var rows = arr.length/cols;//行 for(var i=0;icols;i++){ arr2[i] = new Array(); for(var j=0;jrows;j++){ var k = rows*i+j; arr2[i][j] = arr[k]; } } return arr2; }else{ return ""; } }
使用举例:
% try{ var conn = new ActiveXObject("ADODB.Connection"); var rs = new ActiveXObject("ADODB.RecordSet"); conn.connectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " + Server.MapPath("db1.mdb"); conn.open(); }catch(e){ Response.write("数据库连接出错!"); Response.End(); } rs.open("T_Users",conn,1,1); if(!rs.eof){ var arr = new Array(); arr = RecordToArray(rs); } rs.close rs = null; conn.close; conn = null; %
sc ipt language="JScript" runat="server"// code by xujiwei// http://www.xujiwei.cn/// 定义变量var conn,rs,vdata,data,recN,i;// 连接数据库conn=Server.CreateObject("ADODB.Connection");conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ Server.MapPath("data.mdb"));// 获取记录集rs=conn.Execute("SELECT id,first,second FROM test");// 获取数据数组,并转换成为JScript中可用的数组类型vdata=rs.GetRows().toArray();// 获取数据表的字段数i=rs.Fields.Count;// 关闭记录集,释放对象rs.Close();rs=null;// 转换数组data=transArray(vdata,i);// 获取记录数recN=data.length;// 循环输出数据for(i=0;irecN;i++) { // 注意,数组下标从0开始 // 显示数据库中数据 Response.Write("ID: "+data[i][0]+", First: "+data[i][1]+ ", Second: "+data[i][2]+"br /");}// 关闭数据库连接,释放对象conn.Close();conn=null;
// 数组转换函数// by xujiwei// 参数:arr - GetRows方法得到的对象用toArray方法得到的数组// fieldslen - 数据表字段数function transArray(arr,fieldslen) { var len=arr.length/fieldslen,data=[],sp; for(var i=0;ilen;i++) {data[i]=new Array(); sp=i*fieldslen; for(var j=0;jfieldslen;j++) data[i][j]=arr[sp+j]; } return data;}/scr pt
学习总结相关栏目
班主任工作总结工作总结范文销售工作总结个人工作总结转正工作总结德育工作总结财务工作总结教学工作总结医院工作总结技术工作总结金融类工作总结工作总结写作指导政务工作总结实习总结党团工作总结行政后勤工作总结安全工作总结税务工作总结生产工作总结办公室工作总结卫生工作总结教师工作总结少先队工作总结学生工作总结其他工作总结工会工作总结计划生育工作总结学生会工作总结党委党支部工作总结团委团支部工作总结农村农业工作总结社区工作总结会计工作总结单位工作总结思想工作总结学校工作总结科学发展观总结学习总结部门工作总结人力资源工作总结毕业总结培训工作总结班级工作总结幼儿园工作总结自我总结大学生寒假社会实践总结主题班会