发现若将Rst.Open "select * from 某表 where 从某个Form获取的查询条件"
改成 Rst.Open "select * from 某表"(相当于不做查询动作)后, 记录的浏览功能才得以实现.
否则总是出现" EOF或BOF为真 "的错误提示.可我明明可以从"某表"中 "select... where..."到好几个记录的!
总之如何将"记录的逐条浏览"和"select * from 某表 where 从某个Form获取的查询条件" 结合起来?
望予以指点为感!
杨利
2000/4/13
程序代码:
现在您可以编辑以下记录
'创建并打开 Connection 对象。
Set cn=Server.CreateObject("ADODB.Connection")
cn.Open "DSN=数据库名"
'创建并打开 Recordset 对象。
Set Rst = Server.CreateObject("ADODB.Recordset")
Rst.ActiveConnection = cn
Rst.CursorType = adOpenKeyset
Rst.LockType = adLockOptimistic
Rst.Open "select * from 某表 where 性别='"&request.form("t1")&"'"(执行这句大有问题)
Rst.Open "select * from 某表 where 性别='男'"(执行这句有点问题)
Rst.Open "select * from hr_base"(执行这句没有问题)
' 检查 Request.Form 集合以查看所记录的任何移动。
If Not IsEmpty(Request.Form("MoveAmount")) Then
' 跟踪该会话的移动数目和方向。
session("Moves") = Session("Moves") + Request.Form("MoveAmount")
Clicks = Session("Moves")
'移动到上一个已知位置。
Rst.Move CInt(Clicks)
'检查移动为 + 还是 - 并进行错误检查。
If CInt(Request.Form("MoveAmount")) = 1 Then
If Rst.EOF Then
Session("Moves") = Rst.RecordCount
Rst.MoveLast
End If
Rst.MoveNext
End If
If Request.Form("MoveAmount")
Rst.MovePrevious
End If
'检查有无单击 First Record 或 Last Record 命令按钮。
If Request.Form("MoveLast") = 3 Then
Rst.MoveLast
Session("Moves") = Rst.RecordCount
End If
If Request.Form("MoveFirst") = 2 Then
Rst.MoveFirst
Session("Moves") = 1
End If
End If
' 对 Move Button 单击组合进行错误检查。
If Rst.EOF Then
Session("Moves") = Rst.RecordCount
Rst.MoveLast
Response.Write "This is the Last Record"
End If
If Rst.BOF Then
Session("Moves") = 1
Rst.MoveFirst
Response.Write "This is the First Record"
End If
%>
共查到条记录,当前为第
If IsEmpty(Session("Moves")) Then
Session("Moves") =1
End If
%>
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn