注册 登录
编程论坛 ASP技术论坛

是什么原因使Rs2.MoveNext不移动到下一条记录而是移动到别的一条记录

nbsyf 发布于 2009-09-25 17:48, 1610 次点击
程序如下:
Set Rs2 = Server.CreateObject("ADODB.Recordset")
sq2 = "SELECT *  FROM  "&md&""
‘"&md&"为学生名单表
Rs2.open sq2,conn,1,1
‘以下是建学生考试成绩数据表session("cj")
  SQL = "CREATE TABLE ["+session("cj")+"] ("
  SQL = SQL & "[id]   identity not null ,"
  SQL = SQL & "[xh] char (8) NOT NULL,"
  SQL = SQL & "[xm] char (8) NOT NULL,"
for i=0 to ubound(ValueArray)-1
SQL = SQL & "["&ValueArray(i)&"] number ,"
next
SQL = SQL & "[zf] number ,"
  SQL = SQL & "[bjmc] number ,"
  SQL = SQL & "[njmc] number "
  SQL =SQL& ")"
Set RS = Conn.Execute(SQL)
kskms=ubound(ValueArray)+3
‘以下是初始化学生考试成绩数据表session("cj"),设所有考试成绩为-1
j=1
While (NOT Rs2.EOF)
ls="'"+cstr(j)+"',"+"'"+Rs2.Fields.Item("xh").value+"'," +"'"+Rs2.Fields.Item("xm").value+"',"
for i=1 to kskms
ls=ls+cstr(-1)+","
next
ls=left(ls,len(ls)-1)
strq="insert into "&session("cj")&" values("&ls&")"
conn.execute strq
‘问题就出在下面一句,本应该依次把学生名单表中的“学号(XH)和姓名(XM)”插入学生考试成绩数据表session("cj"),但是就是不知道什么原因,本程序没有依学生名单的次序,而是把学生名单的次序打乱了插入学生考试成绩数据表session("cj"),我请教的就是:此语句明明是移动到下一条记录,是什么原因会不跳到下一条记录而是移动到另外一条记录去?
Rs2.MoveNext
j=j+1
wend
3 回复
#2
aspic2009-09-26 08:42
估计查询出来的记录集默认某字段排序了 所以跟你想的不一样
#3
nbsyf2009-09-27 10:21
我并没有对记录集某字段排序,怎么用RS2.movenext会不依原数据表的次序跳到下一条记录,请问默认某字段排序是怎么会事。谢谢
#4
白色艾艾2012-05-11 16:57
rs2.movenext
loop
rs2.close
Set rs2=Nothing
%>
一般都这样写的呀!!!!!!!
1