function recordsetasarray(rsado,includeheaderrow)
//把ado.recordset中的数据存放到一个数组里
//当includeheaderrow为真时产生字段标题行,当为假时不产生
{
?var rsarray = new array;
?var nfields = rsado.fields.count;
?if (nfields)
?{
??var n = 0;
??if (includeheaderrow)
??{?// include first row as header of field names
???var rsrow = new array(nfields);
???for (var i=0; i < nfields; i++)
????rsrow[i] = rsado(i).name;
???rsarray[n++] = rsrow;
??}
??? if (!(rsado.eof&&rsado.bof))
????? rsado.movefirst()??
??while (!rsado.eof)
??{?// add each record to array
???rsrow = new array(nfields);
???for (var i=0; i < nfields; i++)
????rsrow[i] = rsado(i).value;
???rsarray[n++] = rsrow;
???rsado.movenext();
??}
?}
?return rsarray;
}
function recordsetasdso(rsado)
//把ado.recordset中的数据放到一个表格中,返回这个表格的html代码
{
?var htmldso = ;
?var nfields = rsado.fields.count;
?if (nfields)
?{
??var n = 0;
??htmldso += < + table>\n;???
??while (!rsado.eof)
??{?// add each record to table
???htmldso += < + tr>;???
???for (var i=0; i < nfields; i++)
???{
????htmldso += < + td id= + rsado(i).name + > + rsado(i).value + < + /td>;
???}
???htmldso += < + /tr>\n;???
???rsado.movenext();
??}
??htmldso += < + /table>;???
?}
?return htmldso;
}
function recordsetaslist(rsado,field)
//把ado.recordset中的某个字段的数据放到数组中
{
?var rsarray = new array;
?var nfields = rsado.fields.count;
?if (nfields)
?{
??var n = 0;
??if (!(rsado.eof&&rsado.bof))
????? rsado.movefirst()?
??while (!rsado.eof)
??{?// add each value of field into array
???rsarray[n++] = rsado(field).value;
???rsado.movenext();
??}
?}
?return rsarray;
}
function recordasobject(rsado,objectname)
//以对象的方式返回ado.recordset中的一条记录
{
?if (typeof(objectname) == undefined)
??objectname = rsobject;
?var strobject = function + objectname + () { ;
?var nfields = rsado.fields.count;
?if (!rsado.eof)
?{
??var value = new string;
??var propname = new string;
??for (var i=0; i < nfields; i++)
??{
???propname = rsado(i).name;
???var c0 = propname.charat(0);
???if ((propname.indexof( ) == -1) && ((c0 >= a && c0 <= z) || (c0 >= a && c0 <= z)))
???{?// exclude fields that are invalid variable names
????value = rsado(i).value;
????if (isnan(parsefloat(value)))
?????strobject += this. + propname + = " + value + "; ;
????else
?????strobject += this. + propname + = + value + ; ;
???}
??}
?}
?strobject += };
?eval(strobject);
?return eval(new + objectname);
}
function recordsetasarray(rsado,includeheaderrow)
//把ado.recordset中的数据存放到一个数组里
//当includeheaderrow为真时产生字段标题行,当为假时不产生
{
?var rsarray = new array;
?var nfields = rsado.fields.count;
?if (nfields)
?{
??var n = 0;
??if (includeheaderrow)
??{?// include first row as header of field names
???var rsrow = new array(nfields);
???for (var i=0; i < nfields; i++)
????rsrow[i] = rsado(i).name;
???rsarray[n++] = rsrow;
??}
??? if (!(rsado.eof&&rsado.bof))
????? rsado.movefirst()??
??while (!rsado.eof)
??{?// add each record to array
???rsrow = new array(nfields);
???for (var i=0; i < nfields; i++)
????rsrow[i] = rsado(i).value;
???rsarray[n++] = rsrow;
???rsado.movenext();
??}
?}
?return rsarray;
}
function recordsetasdso(rsado)
//把ado.recordset中的数据放到一个表格中,返回这个表格的html代码
{
?var htmldso = ;
?var nfields = rsado.fields.count;
?if (nfields)
?{
??var n = 0;
??htmldso += < + table>\n;???
??while (!rsado.eof)
??{?// add each record to table
???htmldso += < + tr>;???
???for (var i=0; i < nfields; i++)
???{
????htmldso += < + td id= + rsado(i).name + > + rsado(i).value + < + /td>;
???}
???htmldso += < + /tr>\n;???
???rsado.movenext();
??}
??htmldso += < + /table>;???
?}
?return htmldso;
}
function recordsetaslist(rsado,field)
//把ado.recordset中的某个字段的数据放到数组中
{
?var rsarray = new array;
?var nfields = rsado.fields.count;
?if (nfields)
?{
??var n = 0;
??if (!(rsado.eof&&rsado.bof))
????? rsado.movefirst()?
??while (!rsado.eof)
??{?// add each value of field into array
???rsarray[n++] = rsado(field).value;
???rsado.movenext();
??}
?}
?return rsarray;
}
function recordasobject(rsado,objectname)
//以对象的方式返回ado.recordset中的一条记录
{
?if (typeof(objectname) == undefined)
??objectname = rsobject;
?var strobject = function + objectname + () { ;
?var nfields = rsado.fields.count;
?if (!rsado.eof)
?{
??var value = new string;
??var propname = new string;
??for (var i=0; i < nfields; i++)
??{
???propname = rsado(i).name;
???var c0 = propname.charat(0);
???if ((propname.indexof( ) == -1) && ((c0 >= a && c0 <= z) || (c0 >= a && c0 <= z)))
???{?// exclude fields that are invalid variable names
????value = rsado(i).value;
????if (isnan(parsefloat(value)))
?????strobject += this. + propname + = " + value + "; ;
????else
?????strobject += this. + propname + = + value + ; ;
???}
??}
?}
?strobject += };
?eval(strobject);
?return eval(new + objectname);
}
?
注:此中的一些函数来源于microsoft 的interdev中的microsoft scripting library
