且慢,让我们来慢慢分析。当我们执行set objrs=objconn.execute("select name from mytab order by name")这一命令之后,objrs变成了一个记录集,而这个记录集中必然要有一个指针,用来读取数据,如图所示:

此时,这个指针指在第一个记录上。所以我们在循环的第一次调用objrs("name")时,所读出来的是这个记录集中name列的第一行数据。在读完了之后,这个指针并不会自动往下移,面需要我们人为地强制它往下移,这便是movenext这个方法的秒用了。objrs.movenext这个语句的作用正是在每次读完一行数据时使指针往下移一个记录。
现在,让我们来把我们今天学习的全部程序联起来。
set objconn=server.createobject("adodb.connection") objconn.open "dsn=mydb;database=db2;uid=;pwd=;" set objrs=objconn.execute("select name from mytab order by name") while not objrs.eof response.write objrs("name")&" " objrs.movenext wend
把它们插入到我们的ASP网页中,哇,我真的会使用数据库了呀!真是得谢谢sunwen了!哈哈!尽管我们已经把数据成功地读取了出来,但我们还要反数据输出格式化,这就得用一定的HTML功底了。通过一系列的HTML元素的运用,我们可以把数据格式定制地非常好看,甚至可以把他们化为表格的形式。如果需要这种程序范例的可以写信给我。
差点忘了一个问题,是上一课遗留下来的。就是如果我们使用的是ISP的空间,我们将怎样打开数据库呢?很简单,我们只要不通DSN而直接打开就行了,方法如下:
只要把
objconn.open "dsn=mydb;database=db2;uid=;pwd=;"
这一句替换成:
objconn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & SERVER.MapPath("db2.mdb")
想必大家一定看得懂其中的奥妙,我也要去吃饭了,再见!
|