用王国荣的资料学习用VB的RDS程序有问题

123for 2000-05-25 09:20:00
各位高手:
我按王国荣的《asp & web 数据库》一书写以下代码:(事先在VB6.0的工程引用中引用了RDS Service 2.1 Library 和ADOR 2.1 Library.
运行调试时总是提示"For i = 0 To rs.Fields.Count - 1
"实时错误,对象变量rs或WITH变量未设置",实际上在”set rs=rdso.Recordset"显示为"rs=nothing"和"rdso.Recordset=Nothing",原代码如下:(完全是书上的代码,不能运行)错在哪里呢?
Dim rdso As New RDS.DataControl
Dim rs As ADOR.Recordset

Private Sub Command1_Click()
driver = "driver={Microsoft Access Driver (*.mdb)}"
dbpath = ";dbq=e:\member.mdb"
rdso.Server = "http://127.0.0.1"
rdso.Connect = driver & dbpath
rdso.SQL = "select * from world"
rdso.ExecuteOptions = adcExecAsync
rdso.FetchOptions = adcFetchBackground
rdso.Refresh

Set rs = rdso.Recordset
OutputRecordset rs
End Sub

Sub OutputRecordset(rs As ADOR.Recordset)
Dim S As String
S = ""
List1.Clear
For i = 0 To rs.Fields.Count - 1
S = S & rs.Fields(i).Name & vbTab
Next
List1.AddItem S

While Not rs.EOF
S = ""
For i = 0 To rs.Fields.Count - 1
S = S & rs.Fields(i) & vbTab
Next
List1.AddItem S
rs.MoveNext
Wend
End sub


...全文
220 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
for123 2000-06-09
  • 打赏
  • 举报
回复
答案我已经知道了,如果谁要答案请wfl23@263.net(for123@263.net无效了)
PrinceT 2000-06-03
  • 打赏
  • 举报
回复
哇,这个问题和我碰到的一模一样,谁有解决方案请尽快帮忙!
谢谢,我期待你的来信.
123for 2000-05-26
  • 打赏
  • 举报
回复
weiwenbing:
你去尝试过没有问题吗?请看csdn主页中的最新热点问题看“用VB的RDS存取数据..."
的具体讨论,再谈谈你的看法,这两个问题是同一个问题。
huitor说的好象在理,至少没有错误信息提示,但也没有正确结果运行。换一个小数据库也是一样。
谢谢你们继续讨论
huitor 2000-05-26
  • 打赏
  • 举报
回复
这要看world表中多少条纪录,假如有100条以上的话...
123for 2000-05-26
  • 打赏
  • 举报
回复
凡是参与这个问题讨论的网友,都已经收到了我的一份邮件,请查收。
weiwenbing 2000-05-25
  • 打赏
  • 举报
回复
这段程序没问题!!!我试了的。
123for 2000-05-25
  • 打赏
  • 举报
回复
TOPHead:
好!
我还没有收到你的邮件,收到后再加分。
这里如果你再回答我一个问题,我仍然加你分:
问题:
在王国荣的这本书中讲到运用RDS与SSDBGrid时,我先测试adctest.asp使自动安装上SSDBGrid 到客户端,那么:服务器端要安装什么?也要安装SSDBGrid?也要安装RDS server端?客户端的RDS也要安装?服务器和客户端各如何安装RDS和SSDBGrid?
我在本地测试书中的程序总是不运行?Why?原代码如下:数据库另邮寄给你了,请你测试成功后回信。
Rdsgrid2.asp
<%
vServer="http://" & Request.ServerVariables("Server_name")
vDbq=Server.MapPath("/source/mdb/stock01.mdb")
vSQL="Select * From 股票行情表 "
%>

<HTML>
<HEAD><TITLE>RDS与DBGrid 的结合 </TITLE></HEAD>
<BODY BGColor=#FFFFFF>
<H1>RDS与DBGrid 的结合<HR></H1><P>

<CENTER><TABLE>
<TR><TD ALIGN=RIGHT>Server:</TD>
<TD><INPUT TYPE=Text NAME=Server VALUE="<%=vServer%>" SIZE=50>
</TD></TR>
<TR><TD ALIGN=RIGHT>数据库:</TD>
<TD><INPUT TYPE=Text NAME=Dbq VALUE="<%=vDbq%>" SIZE=50>
</TD></TR>
<TR><TD ALIGN=RIGHT>SQL:</TD>
<TD><INPUT TYPE=Text NAME=SQL VALUE="<%=vSQL%>" SIZE=50>
</TD></TR>
<TR><TD ALIGN=CENTER COLSPAN="2">
<INPUT TYPE=BUTTON VALUE="打开数据库" onClick="OpenDB()"></TD></TR>
</TABLE><HR WIDTH="80%"><P>

<OBJECT
ID="Grid1"
Width=400
Height=150
DataSrc="#RDS1"
ClassID="ClsId:AC05DC80-7DF1-11D0-839E-00A024A94B3A"
>
</OBJECT><P>

<OBJECT
ID="RDS1"
ClassID="ClsID:BD96C556-65A3-11D0-983A-00C04FC29E33"
>
</OBJECT>

<SCRIPT Language=VBScript>
Sub OpenDB()
RDS1.Server = Server.Value
RDS1.Connect = "driver={Microsoft Access Driver (*.mdb)}" & _
";dbq=" & Dbq.Value
RDS1.SQL = SQL.Value
RDS1.Refresh
End Sub
</SCRIPT>

<HR>
</BODY>
</HTML>


TopHead 2000-05-25
  • 打赏
  • 举报
回复
你这个问题我给你的邮件不也解决啦吗?
还想给我分吗,你要是愿意我不会拒绝的:)
huitor 2000-05-25
  • 打赏
  • 举报
回复
上述代码确实有问题,因为异步执行,rdso可能还没有返回。在rdso.Refresh之后加上如下代码:
do while (rdso.ReadyState <> adcReadyStateInteractive) or (rdso.ReadyState <> adcReadyStateComplete)
DoEvents
loop

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧