刘涛前夫终于曝光:asp技术问题

来源:百度文库 编辑:高校问答 时间:2024/05/04 08:43:29
<%
'定义一个CONNECTION对象的实例
Set cn=server.CreateObject("adodb.CONNECTION")
'连接数据库
cn.Open"driver={Microsoft Access Driver (*.mdb)};dbq="&server.mappath("data.mdb")
'定义一个recordset对象的实例
Set rs=server.CreateObject("adodb.Recordset")
'设置source
source="select file_name,img form txt "

'获得数据表的结果集
rs.Open source,cn
'在表格中输出
Response.write"<table border align=center>"
Response.write"<tr>"
Response.write"<td>file_name</td>"
Response.write"<td>img</td>"
'如果集没有结束,则进入循环
Do While Not rs.eof
'输出每列的各个字段
Response.write"<tr>"
For i=0 To rs.fields.count-1
Response.write"<td>"&rs(i).value&"</td>"
Next
'移动到下一条记录
rs.movenext
Loop
Response.write"<table>"

'关闭数据库
rs.close
cn.close
Set rs=Nothing
Set cn=nothing

%>

执行页面时出错:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'img form txt' 中。
/office/usefull/noname3.asp, 第 13 行
source="select file_name,img form txt "

source="select file_name,img from txt "

大家别晕

你的“获得数据表的结果集 ”下面的
rs.Open source,cn
有问题,修改为:
rs.Open source,conn,1,3
就可以了

确定data.mdb数据库里有没有 txt表 和 表里有没有 file_name,img 这两个标签
语法没有错误啊

嗯,如上楼所说
rs.open有问题,关于rs的参数你可以参考下

rs.open sql,conn,1,1全接触
经常会在连接DB的时候用到,就是不知道代表什么意思。。。

RS.OPEN SQL,CONN,A,B

A:

ADOPENFORWARDONLY(=0)
只读,且当前数据记录只能向下移动

ADOPENKEYSET(=1)
只读,当前数据记录可自由移动

ADOPENDYNAMIC(=2)
可读写,当前数据记录可自由移动

ADOPENSTATIC(=3)
可读写,当前数据记录可自由移动,可看到新增记录

B:

ADLOCKREADONLY(=1)
缺省锁定类型,记录集是只读的,不能修改记录

ADLOCKPESSIMISTIC(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。

ADLOCKOPTIMISTIC(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。

ADLOCKBATCHOPTIMISTIC(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。

当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。