急~~基础问题难死我~~在线跪求(50分)

xxxsunxxx 2005-09-13 01:27:38
vb 中的一段sql,代码如下:
strSql = "select fname,ffieldname from t_BasStruct where fitemclassid='" & strNodeClassid & "' order by forderid"
Rs.Open strSql, cnnMydb, adOpenStatic, adLockOptimistic
strbuiltsql = "select " & Trim(Left(strbuiltsql2, Len(strbuiltsql2) - 1)) & strbuiltsql1 & strbuiltsql3
RsBulit.Open strbuiltsql, cnnMydb, adOpenStatic, adLockOptimistic
Rs.MoveFirst
Do While Not Rs.EOF
intLoop = intLoop + 1
.Row = intLoop
.Text = Rs("fname")
.Col = 2
.Text = RsBulit(Rs("ffieldname"))‘此处想把Rs的记录集的结果,放到RsBulit记录集中作为字段名称,然后选出RsBulit的记录集,程序报错,望高手指教
Rs.MoveNext
Loop
Set RsBulit = Nothing
Set Rs = Nothing
...全文
191 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
VBDN 2005-09-14
  • 打赏
  • 举报
回复
/关注/
northwolves 2005-09-14
  • 打赏
  • 举报
回复
str2=select a1,a2,a3,a4 from(select a from A)
leongwong 2005-09-14
  • 打赏
  • 举报
回复
Mark
xxxsunxxx 2005-09-14
  • 打赏
  • 举报
回复
整个代码是这样的,问题也解决了~~~`````
If intNodeFparent <> 0 And intNodeFparent <> 8888 And blnEdit = True Then '修改基础资料
strSql = "select fname,ffieldname from t_BasStruct where fitemclassid='" & strNodeClassid & "' order by forderid"
Rs.Open strSql, cnnMydb, adOpenStatic, adLockOptimistic
strbuiltsql = "select FSQLTableName from t_itemclass where fitemclassid=" & strNodeClassid
RsBulit.Open strbuiltsql, cnnMydb, adOpenStatic, adLockOptimistic
strbuiltsql1 = " from " & RsBulit("FSQLTableName")
RsBulit.Close
Do While Not Rs.EOF
strbuiltsql2 = strbuiltsql2 & Rs("ffieldname") & ","
Rs.MoveNext
Loop
strbuiltsql3 = " where fitemid='" & intNodefitemid & "'"
strbuiltsql = "select " & Trim(Left(strbuiltsql2, Len(strbuiltsql2) - 1)) & strbuiltsql1 & strbuiltsql3
RsBulit.Open strbuiltsql, cnnMydb, adOpenStatic, adLockOptimistic
.MaxRows = Rs.RecordCount
Rs.MoveFirst
Do While Not Rs.EOF
.Col = 1
intLoop = intLoop + 1
.Row = intLoop
.Text = Rs("fname")
.Col = 2
.Row = intLoop
.Text = RsBulit.Fields.Item(intLoop - 1).Value
Rs.MoveNext
Loop
Set RsBulit = Nothing
Set Rs = Nothing
End If
xxxsunxxx 2005-09-13
  • 打赏
  • 举报
回复
顶到有答案
xxxsunxxx 2005-09-13
  • 打赏
  • 举报
回复
谢谢上面两位,可能是我问题没有说清楚,举个简单的列子吧,如下:

str1=select a from A(多条记录集)表A中是记录表Ax的字段结构
RsA.open str1
str2=select a1,a2,a3,a4 from Ax(一条记录集)表Ax是真正想要的信息
RsAx.open str2
Do While Not RsA.EOF
.Text = RsAx(RsA("a"))‘此处想把RsA的记录集的结果,放到RsAx记录集中作为字段名称,然后选出RsAx的记录集,程序报错,望高手指教,就是这里报错!
RsA.MoveNext
Loop
谢谢,着急中!!多谢

再说的明白一点是RsA("a")应返回a1这个值,然后RsAx("a1")才有正确的结果,但是这里实际是不行的,所以请求帮助
xxxsunxxx 2005-09-13
  • 打赏
  • 举报
回复
其实是这样的
假设RsA("a")返回结果为fnumber
而想要RsAx("fnumber")的值,所以写成RsAx(RsA("a"))这个样子,但是程序运行报错,跟踪的情况是这样
RsA("a")确实返回fnumber,但RsAx(RsA("a"))无法返回结果
winehero 2005-09-13
  • 打赏
  • 举报
回复
这里有两个问题可能会导致程序出错(具体什么错,你也没给描述,没办法,我这里是假设了):
1.RsAx已经为EOF或BOF(有可能RSAX没有数据)
2..Text什么意思?前面没看到With语句. 不知道该Text为何对象的Text属性?
xxxsunxxx 2005-09-13
  • 打赏
  • 举报
回复
顶一下,在线等着呢~~:(
xxxsunxxx 2005-09-13
  • 打赏
  • 举报
回复
谢谢上面两位,可能是我问题没有说清楚,举个简单的列子吧,如下:

str1=select a from A(多条记录集)表A中是记录表Ax的字段结构
RsA.open str1
str2=select a1,a2,a3,a4 from Ax(一条记录集)表Ax是真正想要的信息
RsAx.open str2
Do While Not RsA.EOF
.Text = RsAx(RsA("a"))‘此处想把RsA的记录集的结果,放到RsAx记录集中作为字段名称,然后选出RsAx的记录集,程序报错,望高手指教,就是这里报错!
RsA.MoveNext
Loop
谢谢,着急中!!多谢
xxxsunxxx 2005-09-13
  • 打赏
  • 举报
回复
谢谢上面两位,可能是我问题没有说清楚,举个简单的列子吧,如下:

str1=select a from A(多条记录集)表A中是记录表Ax的字段结构
RsA.open str1
str2=select a1,a2,a3,a4 from Ax(一条记录集)表Ax是真正想要的信息
RsAx.open str2
Do While Not RsA.EOF
.Text = RsAx(RsA("a"))‘此处想把RsA的记录集的结果,放到RsAx记录集中作为字段名称,然后选出RsBulit的记录集,程序报错,望高手指教,就是这里报错!
RsA.MoveNext
Loop
谢谢,着急中!!多谢
conrad_wan 2005-09-13
  • 打赏
  • 举报
回复
如果返回null,这样试试:
.Text = Rs("fname") & ""
winehero 2005-09-13
  • 打赏
  • 举报
回复
我看好像没什么错啊。。。什么错误能否具体点?
跟踪一下吧,是不是Rs("ffieldname")本身返回NULL值等原因?
chaoren119119 2005-09-13
  • 打赏
  • 举报
回复
程序报的什么错,不过从你的程序上来看应该是这个地方错了
strSql = "select fname,ffieldname from t_BasStruct where fitemclassid='" & strNodeClassid & "' order by forderid"

在select 语句中无条件字段fitemclassid
建议改为
strSql = "select fname,ffieldname,fitemclassid from t_BasStruct where fitemclassid='" & strNodeClassid & "' order by forderid"
1. 思考一下   学习Java之前,先别,静下心来好好想想:   1)你对学习Java是否有兴趣?   2)你是否能静下心来坚持不懈地学习?   嗯,这是个容易但又绝对不应该忽略的问题,你确信自己对Java感兴趣、而且又有吃苦的准备,那你才可能学好Java!如果具备这两点条件,就请继续往下看……   2. 准备一下   请不要把你的学习Java之路和其它计算机技术开看待,技术的联系往往是千丝万缕的,你应该掌握一些学习Java所涉及的基础知识,对于“CLASSPATH要怎么设置啊”、“跪求JDK下载地址”等等问题,你不该问,因为Internet上太多答案了,甚至换个角度说,你是不是还不适合直接学习编程?   1)买本Java学习用书。   JDK 6正式版刚刚推出,市面上你暂时买不到JDK6的书籍,但我仍推荐你买一本适合入门的、较新JDK版本的Java书籍,那么,你现在选择一本讲述JDK5的入门书籍还是有条件的。我可以推荐一些入门书,但是我不打算这么做,因为合我口味的,不一定适合你。但无论如何,《Thinking In Java》绝对不应该作为你入门Java的第一本书籍!   记住,网络上学习Java的资源很多,但基本不够系统,拥有一本Java入门书籍,是你系统学习Java的基础。   2)准备Java学习环境。   准备你的学习环境,很简单,安装JDK6,然后用类似UltraEdit、EditPlus的文本编辑器配置你的学习环境,Internet上有很多关于如何配置的文章。初学Java,不建议用IDE工具,通过一行行的敲代码,你会碰到很多问题,只有这样,你才能学会怎样解决问题,并加深自己对Java的理解。   准备好后,开始进入激动人心的Java学习里程吧!   3. Java基础学习之路   学习Java的过程虽然辛苦些,但又是处处有精彩!学习过程中的心态一定要保持专一,网上关于语言间的“PK”到处都是,别被浮躁影响!认准了Java,你就坚持!克服心魔,恒心最终会给你回报的。   Java的体系为Java SE、Java EE和Java ME(JDK 5.0以前别叫J2SE、J2EE和J2ME),Java的敲门砖就是Java SE了,也就是你要入门学习的内容,不论你日后是选择哪个体系领域作为发展方向,你都得从Java SE起步。   学习Java SE,打好Java基础;如果想学Java EE(对不起,我不了解JavaME,所以我无法涉及JavaME的相关内容),对于AWT、Swing是否要学习呢,我个人是觉得还是要知道其所以然的,特别是其事件处理模式,我强烈建议初学者一定要弄清楚,其他具体的开发就不一定要全面掌握了,毕竟AWT、Swing方面的内容足够用几本大部头的书才能描述详尽;当然,如果你的工作就是做AWT、Swing开发,那就另当别论了。   I/O、Thread都是基础之一。   4. Java EE学习之路   学习了Java SE,还只是完成“万里长征”的第一步。   接下来选择学习Java EE或是Java ME(或者你还想不断深入学习JavaSE,只要你喜欢,你可以一直深入下去,就像前面所说的,我不会讲到Java ME的学习);估计选择Java EE方面的学习者会多一些,JavaEE所涉及技术非常多,考虑到初学者的接受程度,我会尽量从最常用的角度来介绍。   学习Java EE,在开发环境上不建议再用文本编辑器,我感觉NetBeans 5.5(目前最高正式版本)很适合初学者,我个人也很喜欢NetBeans,如果你喜欢用别的IDE如Eclipse,都没问题,看自己喜欢吧。   4.1 学习JSP/Servlet   Java EE最高版本目前是5.0版本。   在JavaEE中,首先要学习JSP/Servlet(结合Tomcat、MySQL)技术,建议JSP1.2/2.X的知识都要掌握,毕竟现在很多的在用系统都还是基于JSP1.2,学习JSP,还必须掌握一些外延技术,如:你还得掌握HTML基础知识,最好再掌握些JavaScript(目前正火的AJAX技术之一)、CSS的技术,而了解XML是必不可少的(至少描述性配置信息是通过XML来描述的)。在学习JSP/Servlet过程中,应该结合学习JDBC、数据库开发技术,毕竟绝大多数Java Web项目都是和数据库紧密结合的。   4.2 学习数据库开发技术   这里我想重点说一下数据库开发技术,数据库技术是做业务系统必备技能,JavaWeb开发人员最低程度都应该掌握SQL语句的使用!数据库技术大体可为DBA技术和数据库开发技术,对于开发而言,应侧重数据库开发技术,而数据库基本操作,也是要掌握的。常用数据库有DB2、Oracle、SQLServer、My

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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