Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
txtSQL = "select * from 采样点基本情况"
Set rs = ExecuteSQL(txtSQL, Msgtext)' 这个函数得到一个记录集,
MsgBox rs.RecordCount
' rs.Open "select * from 采样点基本情况", cn, adOpenKeyset, adLockBatchOptimistic '连接
Set DataGrid1.DataSource = rs
注:Set rs = ExecuteSQL(txtSQL, Msgtext)' 这个函数得到一个记录集,验证也是成功的,rs不为空,为什么DataGrid1显示时空的?
| | |
|
|
|
#1楼 得分:0回复于:2007-12-07 19:53:32
可能是数据提供者不支持。
我也碰到这样的情况,最后我还是使用ADO绑定控件ADODC
如果是数据提供者不支持,RS.RECORDCOUNT返回将会是-1的值
你可以依据这去检测一下
| |
|
|
|
#2楼 得分:0回复于:2007-12-08 00:36:39
FIELDS 不要先指定,或者指定正確的 FIELDS。
| |
|
|
|
#3楼 得分:0回复于:2007-12-08 07:19:46
要在ExecuteSQL中指定rs.CursorLocation=adUseClient
| |
|
|
|
#4楼 得分:0回复于:2007-12-10 10:27:32
可以了,谢谢楼上的vbman2003 ,帮了大忙了哈
|
|
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
txtSQL = "select * from 采样点基本情况"
Set rs = ExecuteSQL(txtSQL, Msgtext)' 这个函数得到一个记录集,
MsgBox rs.RecordCount
' rs.Open "select * from 采样点基本情况", cn, adOpenKeyset, adLockBatchOptimistic '连接
Set DataGrid1.DataSource = rs
注:Set rs = ExecuteSQL(txtSQL, Msgtext)' 这个函数得到一个记录集,验证也是成功的,rs不为空,为什么DataGrid1显示时空的?
| | |
|
|
|
#1楼 得分:0回复于:2007-12-07 19:53:32
可能是数据提供者不支持。
我也碰到这样的情况,最后我还是使用ADO绑定控件ADODC
如果是数据提供者不支持,RS.RECORDCOUNT返回将会是-1的值
你可以依据这去检测一下
| |
|
|
|
#2楼 得分:0回复于:2007-12-08 00:36:39
FIELDS 不要先指定,或者指定正確的 FIELDS。
| |
|
|
|
#3楼 得分:0回复于:2007-12-08 07:19:46
要在ExecuteSQL中指定rs.CursorLocation=adUseClient
| |
|
|
|
#4楼 得分:0回复于:2007-12-10 10:27:32
可以了,谢谢楼上的vbman2003 ,帮了大忙了哈
|
|
set DataGrid1.DataSource = rs DataGrid1为什么时空的?
要在ExecuteSQL中指定rs.CursorLocation=adUseClient
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
Me.Caption = "经手人管理"
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db_kfgl.mdb;Persist Security Info=False"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "select * from kf", cn
Set DataGrid1.DataSource = rs
End Sub
本文转自9pc9com博客,原文链接: http://blog.51cto.com/215363/1026890
如需转载请自行联系原作者