关于vb6 DataGrid控件的使用

德隆 2010-07-17 10:32:46
写了一段代码,用DataGrid控件显示输出结果,

Private Sub Command1_Click()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str_conn As String, str_sql As String
Dim i As Integer, j As Integer
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
str_conn = "Provider=MSDAORA.1;Password=11hello!;User ID=taizhou_qy;Data Source=orclerp;Persist Security Info=True"
str_sql = "select chinese_name,card_no from crd_register where card_no='" & text1.text &"'"
conn.Open str_conn

rs.Open str_sql, conn, adOpenStatic, adLockReadOnly

Set DataGrid1.DataSource = rs
rs.Close
conn.Close

显示rs.Open str_sql, conn, adOpenStatic, adLockReadOnly
这句出错,说是“行集合不能作为标签”,我没有在DataGrid控件里写sql语句,因为无法灵活查数据,直接用语句写,可以随时的改变查询的语句,不知这样的表述是否清楚。
可能是使用方法的错误,请高手指点,应该怎么写。
...全文
368 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaboyzyq 2010-07-18
  • 打赏
  • 举报
回复
“行集合不能作为标签”,是因为没有设置客户端游标。
conn.CursorLocation = adUseClient

rs.CursorLocation = adUseClient

因为datagrid与rs绑定,所以不可关闭连接与记录集。


Private Sub Command1_Click()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str_conn As String, str_sql As String
Dim i As Integer, j As Integer
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
str_conn = "Provider=MSDAORA.1;Password=11hello!;User ID=taizhou_qy;Data Source=orclerp;Persist Security Info=True"
str_sql = "select chinese_name,card_no from crd_register where card_no='" & Text1.Text & "'"

conn.CursorLocation = adUseClient
conn.Open str_conn

rs.Open str_sql, conn, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = rs
End Sub
chinaboyzyq 2010-07-18
  • 打赏
  • 举报
回复
.
.
conn.CursorLocation = adUseClient
conn.Open str_conn
.
.
jhone99 2010-07-18
  • 打赏
  • 举报
回复
datagrid不支持某些类型的游标
jhone99 2010-07-18
  • 打赏
  • 举报
回复
try

rs.Open str_sql, conn,adOpenStatic, adLockOptimistic

7,763

社区成员

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

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