1,每次都检查,减慢速度是肯定的。它说的是有道理的,但具体是不是能有33%的速度提升,就不敢说了;
2,先movelast然后movefirst是可以确保读出的recordcount是正确值,如果不这样直接取recordcount的值,经常会莫名其妙的返回-1;
3,可以成功,刚刚测试过,我以前也不这么用,也不知道该注意什么。
2,先movelast然后movefirst是可以确保读出的recordcount是正确值,如果不这样直接取recordcount的值,经常会莫名其妙的返回-1;
3,可以成功,刚刚测试过,我以前也不这么用,也不知道该注意什么。
解决方案 »
- 求一条SQL的排序,请高手帮我想下办法
- 急!!!!急!!求一sql语句。
- 备份数据库后还原数据库,与备份mdf,ldf文件然后再附加,有何区别呀,我不是问操作,而是指最后的效果?
- 100高分救解:SQL端口问题
- 事务嵌套的问题
- 数据库由mssql2000升到2005,应用程序要修改吗?
- 求一个修改己有记录的写法
- 新手求教:如何用编好的SQL产生数据库??
- 在填写注册信息时,第二个注册字段名称是_____________
- 關于insert的問題.請高人指教.小弟先謝謝了.
- 用存储过程来写一个模糊查询?难啊!
- 我有一个关于发票的access数据库,我想把这个数据库的每一条记录都把它套打在一个发票的表单上,具体应该如何做?
2、没有必要先movelast,这么用有点本末倒置,如果设置好游标属性,不会出现recordcount不正确的情况。
3、字段名用了Full Name,有空格,那就只好这么用了,如果是我,我宁可把字段名改为Full_Name,以免不必要的麻烦。
recordset.movelast时,就报错了,说运行时错误,说“行集不支持反向取”;
这是为什么?
Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rst As New ADODB.Recordset
With conn
.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=myserver"
.Mode = adModeRead
.Open
End With
With cmd
.ActiveConnection = conn
.CommandType = adCmdText
.CommandText = "select * from sales"
Set rst = .Execute
End With
rst.MoveLast
icount = rst.RecordCount
rst.MoveFirst
For i = 1 To icount
Combo1.AddItem rst!ord_date
rst.MoveNext
Next i
rst.Close
conn.Close
Set rst = Nothing
Set conn = Nothing
recordset.movelast时,就报错了,说运行时错误,说“行集不支持反向取”;
这是为什么?
你用的是什么类型recordset呀
如果使用rs.open sql,conn,是无法使用movelast的
recordcount也不支持的,返回的是-1就是表示不支持,
使用rs.open sql,conn,1,1
和rs.open sql,conn,3,1看看找一下,ado的帮助有具体的说明的