菜鸟蹒跚学ASP-抓狂篇

来源:互联网 发布:网络销售工作职责 编辑:程序博客网 时间:2024/05/18 00:53

这篇很短,但是我影响太深刻了。

事件一:

数据库无法连接 

本来的后台数据库是Access,考虑性能问题,我把它迁移到SQL Server上面,结果就提示

提示
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

用DSN还是直接连接都不行

Provider=SQLOLEDB.1;Password=***;Persist Security Info=True;User ID=sa;Initial Catalog=Northwind;Data Source=127.0.0.1
DSN=LocalServer;UID=sa;PWD=***;WSID=DARKREADSTATION;DATABASE=Northwind

当时就抓狂了,上CSDN问人,结果用他们的代码就行的,用我的就不行,回帖看自己的代码

原来是变量错了

dbp=连接字符串

当时conn.open的确是dbq,一个字母之差,花费了我半天功夫。

 

事件二:

在页面的JS代码中是区分大小写的,千万注意。

 

事件三:

<!--#include file="include/conn.asp"-->
<%
set rs=server.createobject("adodb.recordset")
sql="select [id],[tixing],[do] from examlog where tixing='pan' order by ID"
rs.open sql,conn,1,3
do while not rs.eof or rs.bof
 rs("do")="xxx"
 rs.update
 rs.movenext
loop
rs.close
set rs = nothing
有问题么?

Access下面是没有的,别和我争论,我这边没有;SQL下面就不行了,瞬间抓狂

其实,问题就在在sql中的那个"order by ID",有order by,就不行。

处理方法非常简单

在rs.open前面添加

rs.CursorLocation = 3 'adUserClient

添加一个客户端游标,我觉得原理是在没有order by,那么rs中数据排列,与SQL SVR中的排列是一样的,有了order by那么数据顺序就不一样了,不加客户游标,定位是个问题,这是我瞎猜的,有高手摆脱指点下。我以前写VB都写的,但发现很多ASP里面都没有,而且ASP没有VB的代码提示,能省则省了,结果,哎一天一夜啊。还有个问题直接写adUserClient不行,没有这个参数,要写3。

原创粉丝点击