面向对象的asp编程之四--一些常用的函数

 


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


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值